前言
很久没做内网了,温习一下。希望正在学习安全的小伙伴不要踏入我初学内网的误区。
先来谈谈我对内网的理解吧,不是技术的方向。
内网学的东西很多,很杂。当时我问了我的大哥,他给我的一句话确实影响我至今。我说内网就说信息收集,cmd命令能收集,powershell收集也很多,还有类似wmic,或者一些脚本语言写的信息收集工具,太多了,这些都要学真的太浪费时间了。他是这么跟我说的,很多东西你要学一辈子都学不完,但是你把一个东西学好了,结果都是一样的。确实是这么个道理,学习需要广度,能让你碰到不同的情况乃至极限情况你有解决问题的思路。学习需要深度,你能在正常情况下创造乃至开辟一条新的道路。所以说完全没有必要什么命令都背什么命令都记得清清楚楚,最重要的是要有自己的一套渗透手法,能够达到效果,就是好的。没人在乎你的过程,除非你真的很6。好了。开始今天的主题。
内网这一块不是我的擅长,但是也有幸参加过一些护网,做过一点内网渗透。总结性的来说说我的思路。
一般来说,我们拿了权限做的第一件事是维权,维权这一块以后再说。因为现在很多时候涉及免杀,免杀这一块我研究的不是很多。然后就会对当前主机进行信息收集。我就献丑说一下自己的信息收集思路。可能命令不是很多,都是靠平时自己收集的,主要是提供一个思路,如何实现自动化并且不触发告警,才是应该操心的。
文件类
(1)配置文件
如果是从web打进去的,配置文件是一定要找到,找到了数据库的账号密码,如果是站库分离可能会拿下第二台,如果不是也能获取数据库的数据,或者说用来做密码复用。配置文件一般就在web目录找config等标志性文件。其中如果密码存在加密的大众系统可以试试去github找找有没有解密脚本。自定义的加密可以尝试找源码进行破解。
(2)敏感文件
桌面是一定要看的,很多人有保存文件在桌面的习惯,特别是个人机。很有可能记录了一些密码信息或者其他网站的登录账号密码信息,以及一些敏感文件。
(3)其他目录
这种就是比较随缘了,因为个人习惯不同,稍微有点安全的人可能不会放在桌面,放在D盘啊等地方。这种可能就不是很好找,但是也可以全局搜索文件名,文件内容包含passwd,user,password等字段的文件。回收站也可以看看。
下面放一些我常用的命令,来源于之前记录的别人发的,但是原文找不到了。自己根据实际情况改。
dir %APPDATA%\Microsoft\Windows\Recent //查看最近打开的文档
findstr /si password config.* *.ini *.txt *.properties //递归搜索后面文件的password字段
dir /a /s /b "*conf*" > 1.txt //递归查找当前目录包含conf的文件
findstr /s /i /c:"Password" 目录\*.txt //递归查找目录下的txt中的oassword字段
for /r 目录 %i in (account.docx,pwd.docx,login.docx,login*.xls) do @echo %i >> C:\Users\e0mlja\desktop\123.txt //递归查找目录下的敏感文件输出到桌面123.txt中
指定目录搜索各类敏感文件
dir /a /s /b d:\"*.txt"
dir /a /s /b d:\"*.xml"
dir /a /s /b d:\"*.mdb"
dir /a /s /b d:\"*.sql"
dir /a /s /b d:\"*.mdf"
dir /a /s /b d:\"*.eml"
dir /a /s /b d:\"*.pst"
dir /a /s /b d:\"*conf*"
dir /a /s /b d:\"*bak*"
dir /a /s /b d:\"*pwd*"
dir /a /s /b d:\"*pass*"
dir /a /s /b d:\"*login*"
dir /a /s /b d:\"*user*"
收集各类账号密码信息
findstr /si pass *.inc *.config *.ini *.txt *.asp *.aspx *.php *.jsp *.xml *.cgi *.bak
findstr /si userpwd *.inc *.config *.ini *.txt *.asp *.aspx *.php *.jsp *.xml *.cgi *.bak
findstr /si pwd *.inc *.config *.ini *.txt *.asp *.aspx *.php *.jsp *.xml *.cgi *.bak
findstr /si login *.inc *.config *.ini *.txt *.asp *.aspx *.php *.jsp *.xml *.cgi *.bak
findstr /si user *.inc *.config *.ini *.txt *.asp *.aspx *.php *.jsp *.xml *.cgi *.bak
第一阶段:计算机信息类
毕竟域环境多了一些拿域控,或者kerberos认证等等的东西,就还是分开吧。很多时候盲目的去找一些命令是徒劳无功的,最主要是你要清楚自己要做什么,针对性的作信息收集。这里都是说的手动的,工具类的会放到最后面。
工作组
(1)ip信息(主要判断自己的位置已经确定能横向的方向)
ipconfig /all 网卡信息
route print 查看路由表 看能到达的地方
arp -a 查看arp表 看缓存
hosts 文件
还有其他的可以自行去做去找,正常情况下这几个命令也够了,wmic ps那些也可以做到,但是没必要,集成的现在太容易被杀了,其他工具也还是靠着平时自己积累。
(2)端口收集(主要是判断开放了哪些端口,和哪些机器连通,有没有后续利用的可能)
netstat-ano //一条就够了,不需要太多的花里胡哨 也可以自己去根据习惯找一些其他的方式。还有一些简化的比如查看特定状态端口根据自己的需要去筛选。findstr命令等实现。
(3)进程收集(主要是看看开启了哪些进程,管理员进程可能涉及提权,杀软进程可能涉及免杀,还有一些第三方的进程可能涉及可以做权限维持,这种都是根据需要去确定的)