icoa-cli 2.19.459 → 2.19.461
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/commands/ai4ctf.js +1 -1
- package/dist/commands/ctf4ai-demo.js +1 -1
- package/dist/commands/ctf4vla.js +1 -1
- package/dist/commands/exam.js +1 -1
- package/dist/commands/learn.js +1 -1
- package/dist/commands/ref.js +1 -1
- package/dist/lib/lazy-assets.js +1 -0
- package/dist/lib/learn-curricula.js +1 -1
- package/dist/lib/learn-render.js +1 -1
- package/dist/lib/learn-replies.js +1 -1
- package/dist/lib/py-syntax.js +1 -1
- package/package.json +1 -2
- package/refs/ROPgadget.txt +0 -67
- package/refs/base64.txt +0 -63
- package/refs/bash.txt +0 -79
- package/refs/binwalk.txt +0 -43
- package/refs/bs4.txt +0 -61
- package/refs/checksec.txt +0 -57
- package/refs/curl.txt +0 -73
- package/refs/cyberchef.txt +0 -78
- package/refs/exiftool.txt +0 -50
- package/refs/ffuf.txt +0 -73
- package/refs/gcc.txt +0 -66
- package/refs/gdb.txt +0 -83
- package/refs/hashcat.txt +0 -64
- package/refs/hint.txt +0 -48
- package/refs/icoa.txt +0 -72
- package/refs/john.txt +0 -74
- package/refs/linux.txt +0 -58
- package/refs/nc.txt +0 -64
- package/refs/nmap.txt +0 -57
- package/refs/numpy.txt +0 -59
- package/refs/openssl.txt +0 -75
- package/refs/pillow.txt +0 -67
- package/refs/pwntools.txt +0 -79
- package/refs/pycrypto.txt +0 -77
- package/refs/python.txt +0 -103
- package/refs/r2.txt +0 -85
- package/refs/regex.txt +0 -73
- package/refs/requests.txt +0 -83
- package/refs/rules.txt +0 -28
- package/refs/scapy.txt +0 -80
- package/refs/sqlmap.txt +0 -69
- package/refs/steghide.txt +0 -71
- package/refs/struct.txt +0 -61
- package/refs/sympy.txt +0 -77
- package/refs/tshark.txt +0 -65
- package/refs/vim.txt +0 -74
- package/refs/volatility.txt +0 -41
- package/refs/z3.txt +0 -78
package/refs/sympy.txt
DELETED
|
@@ -1,77 +0,0 @@
|
|
|
1
|
-
SymPy Quick Reference
|
|
2
|
-
=====================
|
|
3
|
-
|
|
4
|
-
INSTALLATION
|
|
5
|
-
pip install sympy
|
|
6
|
-
|
|
7
|
-
BASIC USAGE
|
|
8
|
-
from sympy import *
|
|
9
|
-
|
|
10
|
-
NUMBER THEORY (CTF Crypto)
|
|
11
|
-
# Modular inverse
|
|
12
|
-
mod_inverse(e, phi) e^(-1) mod phi
|
|
13
|
-
|
|
14
|
-
# GCD / Extended GCD
|
|
15
|
-
gcd(a, b)
|
|
16
|
-
gcdex(a, b) Returns (x, y, g) where ax + by = g
|
|
17
|
-
|
|
18
|
-
# Factorization
|
|
19
|
-
factorint(n) Factor integer → {prime: exp}
|
|
20
|
-
isprime(n) Primality test
|
|
21
|
-
nextprime(n) Next prime after n
|
|
22
|
-
prevprime(n) Previous prime
|
|
23
|
-
|
|
24
|
-
# Chinese Remainder Theorem
|
|
25
|
-
crt([m1, m2], [r1, r2]) Solve x ≡ ri (mod mi)
|
|
26
|
-
|
|
27
|
-
# Discrete logarithm
|
|
28
|
-
discrete_log(n, a, b) Find x: b^x ≡ a (mod n)
|
|
29
|
-
|
|
30
|
-
# Euler's totient
|
|
31
|
-
totient(n) φ(n)
|
|
32
|
-
|
|
33
|
-
# Legendre/Jacobi symbol
|
|
34
|
-
legendre_symbol(a, p)
|
|
35
|
-
jacobi_symbol(a, n)
|
|
36
|
-
|
|
37
|
-
# Square root mod p
|
|
38
|
-
sqrt_mod(a, p) √a mod p
|
|
39
|
-
sqrt_mod(a, p, all_roots=True)
|
|
40
|
-
|
|
41
|
-
POLYNOMIALS
|
|
42
|
-
x = Symbol('x')
|
|
43
|
-
p = x**3 + 2*x + 1
|
|
44
|
-
roots = solve(p, x) Find roots
|
|
45
|
-
factor(p) Factor polynomial
|
|
46
|
-
|
|
47
|
-
# Polynomial over finite field
|
|
48
|
-
from sympy import GF
|
|
49
|
-
F = GF(p) Field of integers mod p
|
|
50
|
-
|
|
51
|
-
MATRICES
|
|
52
|
-
M = Matrix([[1, 2], [3, 4]])
|
|
53
|
-
M.det() Determinant
|
|
54
|
-
M.inv() Inverse
|
|
55
|
-
M * M Multiplication
|
|
56
|
-
M.eigenvals() Eigenvalues
|
|
57
|
-
M.rref() Row echelon form
|
|
58
|
-
|
|
59
|
-
SOLVING EQUATIONS
|
|
60
|
-
x, y = symbols('x y')
|
|
61
|
-
solve(x**2 - 4, x) → [-2, 2]
|
|
62
|
-
solve([x + y - 5, x - y - 1], [x, y])
|
|
63
|
-
|
|
64
|
-
COMMON RSA PATTERNS
|
|
65
|
-
# Factor n when p and q are close
|
|
66
|
-
from sympy import integer_nthroot
|
|
67
|
-
s = integer_nthroot(n, 2)[0]
|
|
68
|
-
# Then search near s for factors
|
|
69
|
-
|
|
70
|
-
# Recover d from (e, phi)
|
|
71
|
-
d = mod_inverse(e, phi)
|
|
72
|
-
m = pow(c, d, n)
|
|
73
|
-
|
|
74
|
-
# Wiener's attack (small d)
|
|
75
|
-
# Use continued fraction expansion
|
|
76
|
-
from sympy import continued_fraction_iterator, Rational
|
|
77
|
-
cf = list(continued_fraction_iterator(Rational(e, n)))
|
package/refs/tshark.txt
DELETED
|
@@ -1,65 +0,0 @@
|
|
|
1
|
-
Tshark Quick Reference
|
|
2
|
-
======================
|
|
3
|
-
|
|
4
|
-
BASIC USAGE
|
|
5
|
-
tshark -r file.pcap Read pcap file
|
|
6
|
-
tshark -i eth0 Live capture
|
|
7
|
-
tshark -c 100 -i eth0 Capture 100 packets
|
|
8
|
-
|
|
9
|
-
DISPLAY FILTERS
|
|
10
|
-
tshark -r f.pcap -Y "http" HTTP only
|
|
11
|
-
tshark -r f.pcap -Y "tcp.port==80" Port 80
|
|
12
|
-
tshark -r f.pcap -Y "ip.addr==10.0.0.1" Specific IP
|
|
13
|
-
tshark -r f.pcap -Y "dns" DNS only
|
|
14
|
-
tshark -r f.pcap -Y "tcp.flags.syn==1" SYN packets
|
|
15
|
-
tshark -r f.pcap -Y "http.request" HTTP requests
|
|
16
|
-
tshark -r f.pcap -Y "http.response" HTTP responses
|
|
17
|
-
tshark -r f.pcap -Y "ftp" FTP traffic
|
|
18
|
-
tshark -r f.pcap -Y "smtp" SMTP (email)
|
|
19
|
-
|
|
20
|
-
FIELD EXTRACTION
|
|
21
|
-
tshark -r f.pcap -T fields -e frame.number -e ip.src -e ip.dst
|
|
22
|
-
tshark -r f.pcap -T fields -e http.request.uri
|
|
23
|
-
tshark -r f.pcap -T fields -e dns.qry.name
|
|
24
|
-
tshark -r f.pcap -T fields -e data.data
|
|
25
|
-
|
|
26
|
-
OUTPUT FORMATS
|
|
27
|
-
tshark -r f.pcap -T json JSON output
|
|
28
|
-
tshark -r f.pcap -T fields Tab-separated fields
|
|
29
|
-
tshark -r f.pcap -V Verbose (full decode)
|
|
30
|
-
tshark -r f.pcap -x Hex dump
|
|
31
|
-
|
|
32
|
-
CAPTURE FILTERS
|
|
33
|
-
tshark -i eth0 -f "port 80" Port 80
|
|
34
|
-
tshark -i eth0 -f "host 10.0.0.1" Specific host
|
|
35
|
-
tshark -i eth0 -f "tcp" TCP only
|
|
36
|
-
|
|
37
|
-
STATISTICS
|
|
38
|
-
tshark -r f.pcap -z conv,tcp TCP conversations
|
|
39
|
-
tshark -r f.pcap -z endpoints,ip IP endpoints
|
|
40
|
-
tshark -r f.pcap -z http,tree HTTP statistics
|
|
41
|
-
tshark -r f.pcap -z io,stat,1 I/O graph data
|
|
42
|
-
|
|
43
|
-
STREAM FOLLOWING
|
|
44
|
-
tshark -r f.pcap -z follow,tcp,ascii,0 Follow TCP stream 0
|
|
45
|
-
tshark -r f.pcap -z follow,http,ascii,0 Follow HTTP stream
|
|
46
|
-
|
|
47
|
-
EXPORT
|
|
48
|
-
tshark -r f.pcap --export-objects http,./output/
|
|
49
|
-
tshark -r f.pcap -w filtered.pcap -Y "http"
|
|
50
|
-
|
|
51
|
-
COMMON CTF PATTERNS
|
|
52
|
-
# Extract HTTP POST data
|
|
53
|
-
tshark -r f.pcap -Y "http.request.method==POST" \
|
|
54
|
-
-T fields -e http.file_data
|
|
55
|
-
|
|
56
|
-
# Find credentials
|
|
57
|
-
tshark -r f.pcap -Y "ftp.request.command==PASS" \
|
|
58
|
-
-T fields -e ftp.request.arg
|
|
59
|
-
|
|
60
|
-
# DNS exfil
|
|
61
|
-
tshark -r f.pcap -Y "dns.qry.name" \
|
|
62
|
-
-T fields -e dns.qry.name | sort -u
|
|
63
|
-
|
|
64
|
-
# Extract files
|
|
65
|
-
tshark -r f.pcap --export-objects http,./extracted/
|
package/refs/vim.txt
DELETED
|
@@ -1,74 +0,0 @@
|
|
|
1
|
-
Vim Quick Reference
|
|
2
|
-
===================
|
|
3
|
-
|
|
4
|
-
MODES
|
|
5
|
-
i Insert mode (before cursor)
|
|
6
|
-
a Insert mode (after cursor)
|
|
7
|
-
o New line below + insert
|
|
8
|
-
O New line above + insert
|
|
9
|
-
v Visual mode
|
|
10
|
-
V Visual line mode
|
|
11
|
-
Ctrl+v Visual block mode
|
|
12
|
-
Esc / Ctrl+[ Normal mode
|
|
13
|
-
: Command mode
|
|
14
|
-
|
|
15
|
-
NAVIGATION
|
|
16
|
-
h j k l Left, Down, Up, Right
|
|
17
|
-
w / b Next/prev word
|
|
18
|
-
0 / $ Line start/end
|
|
19
|
-
gg / G File start/end
|
|
20
|
-
Ctrl+d / Ctrl+u Half-page down/up
|
|
21
|
-
:N Go to line N
|
|
22
|
-
% Jump to matching bracket
|
|
23
|
-
* / # Search word under cursor fwd/back
|
|
24
|
-
f{char} Jump to char on line
|
|
25
|
-
|
|
26
|
-
EDITING
|
|
27
|
-
x Delete character
|
|
28
|
-
dd Delete line
|
|
29
|
-
dw Delete word
|
|
30
|
-
d$ Delete to end of line
|
|
31
|
-
yy Yank (copy) line
|
|
32
|
-
yw Yank word
|
|
33
|
-
p / P Paste after/before
|
|
34
|
-
u Undo
|
|
35
|
-
Ctrl+r Redo
|
|
36
|
-
. Repeat last change
|
|
37
|
-
>> / << Indent / outdent
|
|
38
|
-
J Join lines
|
|
39
|
-
~ Toggle case
|
|
40
|
-
r{char} Replace character
|
|
41
|
-
|
|
42
|
-
SEARCH & REPLACE
|
|
43
|
-
/pattern Search forward
|
|
44
|
-
?pattern Search backward
|
|
45
|
-
n / N Next/prev match
|
|
46
|
-
:%s/old/new/g Replace all in file
|
|
47
|
-
:%s/old/new/gc Replace all with confirm
|
|
48
|
-
:s/old/new/g Replace in current line
|
|
49
|
-
|
|
50
|
-
FILE OPERATIONS
|
|
51
|
-
:w Save
|
|
52
|
-
:q Quit
|
|
53
|
-
:wq / :x / ZZ Save and quit
|
|
54
|
-
:q! Quit without saving
|
|
55
|
-
:e filename Open file
|
|
56
|
-
:r filename Insert file contents
|
|
57
|
-
|
|
58
|
-
USEFUL COMMANDS
|
|
59
|
-
:set number Show line numbers
|
|
60
|
-
:set nonumber Hide line numbers
|
|
61
|
-
:set paste Paste mode (no auto-indent)
|
|
62
|
-
:noh Clear search highlight
|
|
63
|
-
:!command Run shell command
|
|
64
|
-
:%!xxd Hex editor mode
|
|
65
|
-
:%!xxd -r Exit hex editor mode
|
|
66
|
-
:set encoding=utf-8 Set encoding
|
|
67
|
-
|
|
68
|
-
MULTI-FILE
|
|
69
|
-
:bn / :bp Next/prev buffer
|
|
70
|
-
:ls List buffers
|
|
71
|
-
:sp file Horizontal split
|
|
72
|
-
:vsp file Vertical split
|
|
73
|
-
Ctrl+w w Switch window
|
|
74
|
-
Ctrl+w q Close window
|
package/refs/volatility.txt
DELETED
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
Volatility Memory Forensics Quick Reference
|
|
2
|
-
============================================
|
|
3
|
-
|
|
4
|
-
VOLATILITY 3 (Python 3)
|
|
5
|
-
vol -f dump.raw windows.info OS info
|
|
6
|
-
vol -f dump.raw windows.pslist Process list
|
|
7
|
-
vol -f dump.raw windows.pstree Process tree
|
|
8
|
-
vol -f dump.raw windows.cmdline Command lines
|
|
9
|
-
vol -f dump.raw windows.netscan Network connections
|
|
10
|
-
vol -f dump.raw windows.filescan File objects
|
|
11
|
-
vol -f dump.raw windows.dumpfiles --pid PID Dump files
|
|
12
|
-
vol -f dump.raw windows.hashdump Password hashes
|
|
13
|
-
vol -f dump.raw windows.registry.hivelist Registry hives
|
|
14
|
-
vol -f dump.raw windows.envars Environment variables
|
|
15
|
-
vol -f dump.raw windows.malfind Injected code
|
|
16
|
-
|
|
17
|
-
VOLATILITY 2 (Python 2)
|
|
18
|
-
vol.py -f dump.raw imageinfo Identify profile
|
|
19
|
-
vol.py -f dump.raw --profile=PROF pslist Process list
|
|
20
|
-
vol.py -f dump.raw --profile=PROF pstree Process tree
|
|
21
|
-
vol.py -f dump.raw --profile=PROF cmdline Command lines
|
|
22
|
-
vol.py -f dump.raw --profile=PROF netscan Network
|
|
23
|
-
vol.py -f dump.raw --profile=PROF filescan Files
|
|
24
|
-
vol.py -f dump.raw --profile=PROF dumpfiles -D ./out/ Dump files
|
|
25
|
-
vol.py -f dump.raw --profile=PROF hashdump Hashes
|
|
26
|
-
vol.py -f dump.raw --profile=PROF hivelist Registry
|
|
27
|
-
vol.py -f dump.raw --profile=PROF clipboard Clipboard
|
|
28
|
-
vol.py -f dump.raw --profile=PROF screenshot -D ./out/
|
|
29
|
-
|
|
30
|
-
LINUX
|
|
31
|
-
vol -f dump.raw linux.bash Bash history
|
|
32
|
-
vol -f dump.raw linux.pslist Process list
|
|
33
|
-
vol -f dump.raw linux.lsof Open files
|
|
34
|
-
|
|
35
|
-
COMMON CTF WORKFLOW
|
|
36
|
-
1. vol -f dump.raw windows.info Identify OS
|
|
37
|
-
2. vol -f dump.raw windows.pslist Find suspicious processes
|
|
38
|
-
3. vol -f dump.raw windows.cmdline Check what was run
|
|
39
|
-
4. vol -f dump.raw windows.netscan Check connections
|
|
40
|
-
5. vol -f dump.raw windows.filescan | grep -i "flag\|secret\|key"
|
|
41
|
-
6. vol -f dump.raw windows.dumpfiles --pid PID
|
package/refs/z3.txt
DELETED
|
@@ -1,78 +0,0 @@
|
|
|
1
|
-
Z3 Solver Quick Reference
|
|
2
|
-
=========================
|
|
3
|
-
|
|
4
|
-
INSTALLATION
|
|
5
|
-
pip install z3-solver
|
|
6
|
-
|
|
7
|
-
BASIC USAGE
|
|
8
|
-
from z3 import *
|
|
9
|
-
|
|
10
|
-
# Create solver
|
|
11
|
-
s = Solver()
|
|
12
|
-
|
|
13
|
-
# Declare variables
|
|
14
|
-
x = Int('x') Integer variable
|
|
15
|
-
y = Int('y')
|
|
16
|
-
a = BitVec('a', 32) 32-bit bitvector
|
|
17
|
-
b = BitVec('b', 32)
|
|
18
|
-
r = Real('r') Real number
|
|
19
|
-
flag = [BitVec(f'f{i}', 8) for i in range(20)] # Array
|
|
20
|
-
|
|
21
|
-
CONSTRAINTS
|
|
22
|
-
s.add(x + y == 10) Add constraint
|
|
23
|
-
s.add(x > 0) Inequality
|
|
24
|
-
s.add(x != y) Not equal
|
|
25
|
-
s.add(And(x > 0, y > 0)) Logical AND
|
|
26
|
-
s.add(Or(x == 1, x == 2)) Logical OR
|
|
27
|
-
s.add(Not(x == 0)) Logical NOT
|
|
28
|
-
s.add(If(x > 0, y, z) == 5) Conditional
|
|
29
|
-
|
|
30
|
-
SOLVING
|
|
31
|
-
if s.check() == sat:
|
|
32
|
-
m = s.model()
|
|
33
|
-
print(m[x]) Get value
|
|
34
|
-
print(m.eval(x + y)) Evaluate expression
|
|
35
|
-
else:
|
|
36
|
-
print("No solution")
|
|
37
|
-
|
|
38
|
-
BITVECTOR OPERATIONS
|
|
39
|
-
a + b Addition
|
|
40
|
-
a - b Subtraction
|
|
41
|
-
a * b Multiplication
|
|
42
|
-
a & b Bitwise AND
|
|
43
|
-
a | b Bitwise OR
|
|
44
|
-
a ^ b Bitwise XOR
|
|
45
|
-
~a Bitwise NOT
|
|
46
|
-
a << 2 Left shift
|
|
47
|
-
LShR(a, 2) Logical right shift
|
|
48
|
-
a >> 2 Arithmetic right shift
|
|
49
|
-
RotateLeft(a, n) Rotate left
|
|
50
|
-
RotateRight(a, n) Rotate right
|
|
51
|
-
ZeroExt(n, a) Zero extend
|
|
52
|
-
SignExt(n, a) Sign extend
|
|
53
|
-
Extract(hi, lo, a) Extract bits [hi:lo]
|
|
54
|
-
Concat(a, b) Concatenate bitvectors
|
|
55
|
-
|
|
56
|
-
COMMON CTF PATTERNS
|
|
57
|
-
# Solve for flag bytes (printable ASCII)
|
|
58
|
-
flag = [BitVec(f'f{i}', 8) for i in range(N)]
|
|
59
|
-
s = Solver()
|
|
60
|
-
for f in flag:
|
|
61
|
-
s.add(f >= 0x20, f <= 0x7e)
|
|
62
|
-
|
|
63
|
-
# Add challenge-specific constraints
|
|
64
|
-
s.add(flag[0] == ord('i')) # icoa{...}
|
|
65
|
-
|
|
66
|
-
if s.check() == sat:
|
|
67
|
-
m = s.model()
|
|
68
|
-
result = ''.join(chr(m[f].as_long()) for f in flag)
|
|
69
|
-
print(result)
|
|
70
|
-
|
|
71
|
-
# Reverse a hash-like function
|
|
72
|
-
def transform(x):
|
|
73
|
-
return (x * 1337 + 42) & 0xFFFFFFFF
|
|
74
|
-
|
|
75
|
-
target = 0xDEADBEEF
|
|
76
|
-
x = BitVec('x', 32)
|
|
77
|
-
s = Solver()
|
|
78
|
-
s.add(transform(x) == target)
|