Linux shellcode sample
Linux shellcode sample
HelloWorld.nasm
;HelloWorld.asm
;Author: Kul Subedi global _start section .text
_start:
; print HelloWorld! in screen
mov eax, 0x4
mov ebx, 0x1
mov ecx, message
;mov edx, 12
mov edx, mlen
int 0x80 ; exit program gracefully
mov eax, 0x1
mov ebx, 0x5
int 0x80 section .data
message: db "Welcome to Assembly!"
mlen equ $-message
abc.nasm
;hello.asm
[SECTION .text] global _start _start: jmp short call_shellcode shellcode: xor eax, eax ;clean up the registers
xor ebx, ebx
xor edx, edx
xor ecx, ecx mov al, 4 ;syscall write
mov bl, 1 ;stdout is 1
pop ecx ;get the address of the string from the stack
mov dl, 5 ;length of the string
int 0x80 xor eax, eax
mov al, 1 ;exit the shellcode
xor ebx,ebx
int 0x80 call_shellcode:
call shellcode ;put the address of the string on the stack
db 'milu'
compile.sh
#!/usr/bin/env bash echo '[+] Assembling with Nasm .. '
nasm -f elf32 -o $1.o $1.nasm
echo '[+] Linking ... '
ld -o $1 $1.o
echo '[+] Done!'
shel.sh
#!/usr/bin/env bash objdump -d $1 | grep '[0-9a-f]:' | grep -v 'file' | cut -d: -f2|cut -d' ' -f1-6 | tr -s ' ' | tr '\t' ' ' | sed 's/ $//g' | sed 's/ /\\x/g' | paste -d '' -s | sed 's/^/"/' | sed 's/$/"/g'
abctxt.txt
"\xeb\x19\x31\xc0\x31\xdb\x31\xd2\x31\xc9\xb0\x04\xb3\x01\x59\xb2\x05\xcd\x80\x31\xc0\xb0\x01\x31\xdb\xcd\x80\xe8\xe2\xff\xff\xff\x6d\x69\x6c\x75"
shellcode.c
#include <stdio.h>
#include <string.h> unsigned char code[] ="\xeb\x19\x31\xc0\x31\xdb\x31\xd2\x31\xc9\xb0\x04\xb3\x01\x59\xb2\x05\xcd\x80\x31\xc0\xb0\x01\x31\xdb\xcd\x80\xe8\xe2\xff\xff\xff\x6d\x69\x6c\x75"; main(){
printf("Shellcode Length: %d\n", strlen(code)); int (*ret)() = (int(*)())code; ret();
}
gcc_compile.sh
#!/usr/bin/env bash echo '[+] Compiling....' gcc -fno-stack-protector -z execstack $1.c -o $1 echo '[+] Done...'
============== End
Linux shellcode sample的更多相关文章
- Linux Rootkit Sample && Rootkit Defenser Analysis
目录 . 引言 . LRK5 Rootkit . knark Rootkit . Suckit(super user control kit) . adore-ng . WNPS . Sample R ...
- 二进制入门-打造Linux shellcode基础篇
0x01 前言 本文的目的不是为了介绍如何进行恶意的破坏性活动,而是为了教会你如何去防御此类破坏性活动,以帮助你扩大知识范围,完善自己的技能,如有读者运用本文所学技术从事破坏性活动,本人概不负责. ...
- linux ps sample
ps -ef|grep "myswooleserver.php"| grep -v "grep" | wc -l cpc@cpc-Aspire-:~/Downl ...
- Linux下shellcode的编写
Linux下shellcode的编写 来源 https://xz.aliyun.com/t/2052 EdvisonV / 2018-02-14 22:00:42 / 浏览数 6638 技术文章 技 ...
- 使用MSF打造各种ShellCode
MSF 生成各种后门 Windows: 生成Windows后门. msfvenom -a x86 --platform Windows -p windows/meterpreter/reverse_t ...
- 写一个简单的shellcode
0x00 前言 漏洞利用中必不可缺的部分就是shellcode,不会编写shellcode和咸鱼有什么区别,跳出咸鱼第一步. 0x01 系统调用 通过系统调用execve函数返回shell C语言实现 ...
- shellcode编写
shellcode编写 shellcode是一段用于利用软件漏洞而执行的代码,通常使用机器语言编写,其目的往往是让攻击者获得目标机器的命令行shell而得名,其他有类似功能的代码也可以称为shellc ...
- Linux 驱动开发
linux驱动开发总结(一) 基础性总结 1, linux驱动一般分为3大类: * 字符设备 * 块设备 * 网络设备 2, 开发环境构建: * 交叉工具链构建 * NFS和tftp服务器安装 3, ...
- 3.10.17 procfs示例
/* * wesley * the linux module sample of procfs * * wesley for testing * 2013-12-23 ...
随机推荐
- mumu 连接安卓studio
近期开发一个项目,折腾了好久,编写完程序后,真机上运行没有异常,而在MuMu模拟器上运行,程序总是中断(MuMu模拟器连接不上,只能打包好apk再放到MuMu上测试,有点蠢萌...),没办法调试,就获 ...
- mysql 日常操作-DDL
1 修改字段类型 需求修改表字段类型 alter table 表名 modify column 修改的字段(列名) 类型(修改的类型) ALTER TABLE sys_entry_item m ...
- JS基础_变量提升和函数提升
1.在函数中,不使用var声明的变量都会变为全局变量 function fun(){ d=10; //window.d=10; }; console.log(10);//10 2.定义形参就相当于在函 ...
- Instances cannot be resolved and nested lifetimes cannot be created from this LifetimeScope as it has already been disposed.
2019-07-24 11:09:15.231+08:00 LISA.Common.Utilities.LogUtil - System.ObjectDisposedException: Instan ...
- js版的虚线框
要求:实现鼠标点击面板的一个点,拖动到固定的位置,出现虚线框 样图: 具体的代码实现: js文件 <script> window.onload = function(){ docu ...
- git分支名大小写问题导致分支push到远程失败
windows系统不识别文件夹大小写导致 本地分支master, 在master上面新建一个分支Hotfix/aa 由于Hotfix首字母大写,所以windows系统会在 项目.git\refs\he ...
- 前端Ajax跨域解决方案
业务场景: 前后端分离需要对接数据接口. 接口测试是在postman做的,今天才开始和前端对接,由于这是我第一次做后端接口开发(第一次嘛,问题比较多)所以在此记录分享我的踩坑之旅,以便能更好的理解,应 ...
- 安装xampp扩展你要注意这些
Windows下安装PHP扩展是一件很麻烦的事情,看一个xampp扩展的附件名一般都是这样的命名规则,如:xampp_http-5.3-nts-svn20091125-vc9-x86.zip 你要了解 ...
- EL表达式与JSTL标签库(二)
1.JSTL标签库 标签库 作用 URI 前缀 核心 包含Web应用的常见工作,如循环.输入输出等 http://java.sun.com/jsp/jstl/core c 国际化 语言区域.消息.数字 ...
- k8s1.11.0安装、一个master、一个node、查看node名称是主机名、node是扩容进来的、带cadvisor监控服务
一个master.一个node.查看node节点是主机名 # 安装顺序:先在test1 上安装完必要组件后,就开始在 test2 上单独安装node组件,实现node功能,再返回来配置test1加入集 ...