
مجموعة من نصوص TCL لاختبار الاختراق لنظام Cisco IOS
باستخدام TCLtools يمكنك تحويل أي جهاز Cisco IOS إلى محطة تنقل. من السهل الإعداد والاستخدام!
TCLproxy هي أداة للتنقل عبر أجهزة Cisco. يمكنها توجيه أي منفذ TCP أو تشغيل خادم وكيل.
TCLproxy v0.0.3
Usage: tclsh ./tclproxy.tcl [-L address]... [-D address]...
Proxy server implementation. Binary protocols are supported.
-L [bind_address:]port:remote_host:remote_port
Forward a remote port to a local port.
Multiple connections and multiple forwards are supported.
-D [bind_address:]port
Launch a SOCKS4a proxy server.
Forwarding between VRF tables:
-D [VRF_table_for_listening@][bind_address]:port[@VRF_table_for_outbound_connections]
-L [VRF_table_for_listening@][bind_address]:port[@VRF_table_for_outbound_connections]:remote_host:remote_port
optional arguments:
-f, --disable-eof-check Speed increases by 1-15 KB/s, but connections don't close automatically. Dangerous!
-h, --help Show this help message and exit.
-q, --disable-output Quite mode. In this mode, you can disconnect from the console without script termination. Dangerous!
-l, --low-ports Use privileged source ports. Required for NFS (source port increments from 1 to 1023 every connection)
-n, --disable-dns Do not resolve DNS names in SOCKS mode
The effect of --disable-eof-check and --disable-output options depends on hardware architecture and firmware version.
TCLproxy will not work for port scanning, use tclmap.tcl instead.
example:
$ sudo py3tftp -p 69
cisco# configure terminal
cisco(config)# scripting tcl low-memory 5242880
cisco(config)# end
cisco# copy tftp://192.168.1.10/tclproxy.tcl flash:/
cisco# tclsh tclproxy.tcl -h
cisco# tclsh tclproxy.tcl -L 5901:10.0.0.1:445 -D :5902@enterpriseVRF -D 5900
...
cisco# del flash:/tclproxy.tcl
TCL هي لغة برمجة عالية المستوى، متعددة الأغراض، مفسرة، وديناميكية. ينفذ Cisco IOS الإصدار 8.3.4 من TCL:
cisco# tclsh
cisco(tcl)# puts $tcl_version
8.3
cisco(tcl)# puts $tcl_patchLevel
8.3.4
تتطلب TCLtools مستوى صلاحية 15 على الجهاز.
هناك أربع طرق لتحميل نصوص TCL:
$ sudo py3tftp -p 69
or
$ python2 -m pyftpdlib
cisco# copy tftp://192.168.1.10/tclproxy.tcl flash:/
cisco# copy ftp://192.168.1.10:2121/tclproxy.tcl flash:/
cisco# tclsh tclproxy.tcl
or
cisco# tclsh ftp://192.168.1.10:2121/tclproxy.tcl
$ cat tclproxy.tcl | sed -E 's/([{}$\[])/\\\1/g'
cisco# tclsh
cisco(tcl)# puts [open "flash:tclproxy.tcl" w+] {
cisco(tcl)# ; Copy file contents onto this
cisco(tcl)# }
cisco(tcl)# exit
cisco#
cisco# tclsh tclproxy.tcl
cisco# tclsh
cisco(tcl)# set argv [list -D 1080]
cisco(tcl)# ; Copy file contents onto this
cisco# configure terminal
cisco(config)# scripting tcl init ftp://192.168.1.10/tclproxy.tcl
cisco(config)# end
cisco# tclsh
من الممارسات الجيدة تعيين الحد الأدنى لحجم الذاكرة الحرة:
cisco# configure terminal
cisco(config)# scripting tcl low-memory 5242880
cisco(config)# end
بالإضافة إلى ذلك، أو بدلاً من ذلك، يمكنك عرض أداء الجهاز باستخدام الأوامر التالية:
cisco# show processes cpu | i Tcl
cisco# show processes mem | i Tcl
تم اختباره على Cisco 2811 / Cisco 2821 Integrated Services Router، و Cisco Catalyst 2960، و Cisco Catalyst 3750-X.
يمكنك فتح مشكلة جديدة (New Issue) للإبلاغ عن خطأ أو اقتراح ميزة جديدة لتحسين المشروع. أو يمكنك إرسال بضعة سطور إلى [email protected].