ronin 2.0.0.beta2 → 2.0.0.beta4

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 27384193981443a863258e9b0335f1a840bdca4fcc4220929d6def90b54bc580
4
- data.tar.gz: abf2ec16390c3b8944dbe1986347bb1a9172658cdc401a79192d2c1d4409e662
3
+ metadata.gz: 5047531634d67c95bffe7f55e125d652912fbc93017b7b84d9799e5fda3a4c55
4
+ data.tar.gz: 60b99b27727f849d19cb3518aecc6784069533f1ef2dfd4a66faed0b9fc6633f
5
5
  SHA512:
6
- metadata.gz: 2c390480d0b3ca44061e8c051588f464d1a0f913002fe907e1767b402ed436b770d8ac96d57de7bbdb05ee0f2f40535ab0b6558c9f0577568622086b241e6f3d
7
- data.tar.gz: a10be869d6e24324dd85a194246c24a5c920b66349862b133515b152b807e599c02ac33e2f311e4a01143dd99717f2d7ad60a39909c5e818b64cac5b4b9aa3c0
6
+ metadata.gz: '08cec0e4936d6a029ff5b71d5a35e348c8e5beee92a1042121fcbe379f65eeed38b84a63fa319c5b314090e6ffc2d80005acfef1e061e90e81d28c1e867409ce'
7
+ data.tar.gz: dd78e3a1fd48f63ff26cc26eaecab7d7efe2e72369f5e166c39c418dc8e097853bb97cb12cac84e24705a6c56bbc2b2aa458e3b649946030328980979390876e
data/README.md CHANGED
@@ -150,6 +150,617 @@ Open the Ronin Ruby REPL:
150
150
  $ ronin irb
151
151
  ```
152
152
 
153
+ Generate a new Ruby script with [ronin-support] preloaded:
154
+
155
+ ```shell
156
+ $ ronin new script foo.rb
157
+ ```
158
+
159
+ Generate a new Ruby project with a `Gemfile`:
160
+
161
+ ```shell
162
+ $ ronin new project foo
163
+ ```
164
+
165
+ ### Binary
166
+
167
+ Hexdumps data in a variety of formats:
168
+
169
+ ```shell
170
+ $ ronin hexdump /bin/ls
171
+ ```
172
+
173
+ Un-hexdumps a hexdump file back into it's original raw binary data:
174
+
175
+ ```shell
176
+ $ ronin unhexdump -o data.bin hexdump.txt
177
+ ```
178
+
179
+ Print all printable strings from a file:
180
+
181
+ ```shell
182
+ $ ronin strings /bin/ls
183
+ ```
184
+
185
+ Print all alphabetic strings from a file:
186
+
187
+ ```shell
188
+ $ ronin strings --alpha /bin/ls
189
+ ```
190
+
191
+ Print all alpha-numeric strings from a file:
192
+
193
+ ```shell
194
+ $ ronin strings --alpha-num /bin/ls
195
+ ```
196
+
197
+ Print all numeric strings from a file:
198
+
199
+ ```shell
200
+ $ ronin strings --numeric /bin/ls
201
+ ```
202
+
203
+ Print all hexadecimal strings from a file:
204
+
205
+ ```shell
206
+ $ ronin strings --hex /bin/ls
207
+ ```
208
+
209
+ Enumerate through all of the Bit-flips of a domain name:
210
+
211
+ ```shell
212
+ $ ronin bitflip microsoft --alpha-num --append .com
213
+ licrosoft.com
214
+ oicrosoft.com
215
+ iicrosoft.com
216
+ eicrosoft.com
217
+ Microsoft.com
218
+ mhcrosoft.com
219
+ mkcrosoft.com
220
+ mmcrosoft.com
221
+ macrosoft.com
222
+ mycrosoft.com
223
+ ...
224
+ ```
225
+
226
+ ### Encoding
227
+
228
+ Base64 encode a string:
229
+
230
+ ```shell
231
+ $ ronin encode --base64 --string "foo bar baz"
232
+ Zm9vIGJhciBiYXo=
233
+ ```
234
+
235
+ Zlib compresses, Base64 encodes, and then URI encode a string:
236
+
237
+ ```shell
238
+ $ ronin encode --zlib --base64 --uri --string "foo bar"
239
+ %65%4A%78%4C%79%38%39%58%53%45%6F%73%41%67%41%4B%63%41%4B%61%0A
240
+ ```
241
+
242
+ Base64 decode a string:
243
+
244
+ ```shell
245
+ $ ronin decode --base64 --string "Zm9vIGJhciBiYXo="
246
+ foo bar baz
247
+ ```
248
+
249
+ URI decode, Base64 decode, and then zlib inflates a string:
250
+
251
+ ```shell
252
+ $ ronin decode --uri --base64 --zlib --string "%65%4A%78%4C%79%38%39%58%53%45%6F%73%41%67%41%4B%63%41%4B%61%0A"
253
+ foo bar
254
+ ```
255
+
256
+ URI escape a string:
257
+
258
+ ```shell
259
+ $ ronin escape --uri --string "foo bar"
260
+ foo%20bar
261
+ ```
262
+
263
+ URI unescape a string:
264
+
265
+ ```shell
266
+ $ ronin unescape --uri --string "foo%20bar"
267
+ foo bar
268
+ ```
269
+
270
+ Convert a file into a quoted C string:
271
+
272
+ ```shell
273
+ $ ronin quote --c file.bin
274
+ "..."
275
+ ```
276
+
277
+ Convert a file into a quoted JavaScript string:
278
+
279
+ ```shell
280
+ $ ronin quote --js file.bin
281
+ ```
282
+
283
+ Unquote a C string:
284
+
285
+ ```shell
286
+ $ ronin unquote --c --string '"\x66\x6f\x6f\x20\x62\x61\x72"'
287
+ foo bar
288
+ ```
289
+
290
+ ### Text
291
+
292
+ De-obfuscate an email address:
293
+
294
+ ```shell
295
+ $ ronin email-addr --deobfuscate "john [dot] smith [at] example [dot] com"
296
+ john.smith@example.com
297
+ ```
298
+
299
+ Enumerate through all of the obfuscations of an email address:
300
+
301
+ ```shell
302
+ $ ronin email-addr --enum-obfuscations john.smith@example.com
303
+ john.smith @ example.com
304
+ john.smith AT example.com
305
+ john.smith at example.com
306
+ john.smith[AT]example.com
307
+ john.smith[at]example.com
308
+ ...
309
+ ```
310
+
311
+ Extract high-entropy data from a file:
312
+
313
+ ```shell
314
+ $ ronin entropy -e 5.0 index.html
315
+ ```
316
+
317
+ Grep for common patterns of data:
318
+
319
+ ```shell
320
+ $ ronin grep --hash index.html
321
+ ```
322
+
323
+ Extract common patterns from data:
324
+
325
+ ```shell
326
+ $ ronin extract --hash index.html
327
+ ```
328
+
329
+ Generate a random typo of a word:
330
+
331
+ ```shell
332
+ $ ronin typo microsoft
333
+ microssoft
334
+ ```
335
+
336
+ Enumerate over every typo variation of a word:
337
+
338
+ ```shell
339
+ $ ronin typo --enum microsoft
340
+ microosoft
341
+ microsooft
342
+ microssoft
343
+ ```
344
+
345
+ Generate a random homoglyph version of a word:
346
+
347
+ ```shell
348
+ $ ronin homoglyph CEO
349
+ CEO
350
+ ```
351
+
352
+ Enumerate over every homoglyph variation of a word:
353
+
354
+ ```shell
355
+ $ ronin homoglyph --enum CEO
356
+ ϹEO
357
+ СEO
358
+ ⅭEO
359
+ CEO
360
+ CΕO
361
+ CЕO
362
+ CEO
363
+ CEΟ
364
+ CEО
365
+ CEO
366
+ ```
367
+
368
+ Syntax-highlights a file:
369
+
370
+ ```shell
371
+ $ ronin highlight index.html
372
+ ```
373
+
374
+ ### Cryptography
375
+
376
+ AES-256 encrypt a file:
377
+
378
+ ```shell
379
+ $ ronin encrypt --cipher aes-256-cbc --password "..." file.txt > encrypted.bin
380
+ ```
381
+
382
+ Decrypt data:
383
+
384
+ ```shell
385
+ $ ronin decrypt --cipher aes-256-cbc --password "..." encrypted.bin
386
+ ```
387
+
388
+ Generates an HMAC for a file:
389
+
390
+ ```shell
391
+ $ ronin hmac --hash sha1 --password "too many secrets" data.txt
392
+ ```
393
+
394
+ Generates an HMAC for a string:
395
+
396
+ ```shell
397
+ $ ronin hmac --hash sha1 --password "too many secrets" --string "..."
398
+ ```
399
+
400
+ Calculate an MD5 checksum of a string:
401
+
402
+ ```shell
403
+ $ ronin md5 --string "hello world"
404
+ 5eb63bbbe01eeed093cb22bb8f5acdc3
405
+ ```
406
+
407
+ Calculate the MD5 checksum of a file:
408
+
409
+ ```shell
410
+ $ ronin md5 file.txt
411
+ ```
412
+
413
+ Calculate the MD5 checksum of every line in a file:
414
+
415
+ ```shell
416
+ $ ronin md5 --multiline file.txt
417
+ ```
418
+
419
+ Calculate an SHA1 checksum of a string:
420
+
421
+ ```shell
422
+ $ ronin sha1 --string "hello world"
423
+ 2aae6c35c94fcfb415dbe95f408b9ce91ee846ed
424
+ ```
425
+
426
+ Calculate the SHA1 checksum of a file:
427
+
428
+ ```shell
429
+ $ ronin sha1 file.txt
430
+ ```
431
+
432
+ Calculate the SHA1 checksum of every line in a file:
433
+
434
+ ```shell
435
+ $ ronin sha1 --multiline file.txt
436
+ ```
437
+
438
+ Calculate an SHA256 checksum of a string:
439
+
440
+ ```shell
441
+ $ ronin sha256 --string "hello world"
442
+ b94d27b9934d3e08a52e52d7da7dabfac484efe37a5380ee9088f7ace2efcde9
443
+ ```
444
+
445
+ Calculate the SHA256 checksum of a file:
446
+
447
+ ```shell
448
+ $ ronin sha256 file.txt
449
+ ```
450
+
451
+ Calculate the SHA256 checksum of every line in a file:
452
+
453
+ ```shell
454
+ $ ronin sha256 --multiline file.txt
455
+ ```
456
+
457
+ Calculate an SHA512 checksum of a string:
458
+
459
+ ```shell
460
+ $ ronin sha512 --string "hello world"
461
+ 309ecc489c12d6eb4cc40f50c902f2b4d0ed77ee511a7c7a9bcd3ca86d4cd86f989dd35bc5ff499670da34255b45b0cfd830e81f605dcf7dc5542e93ae9cd76f
462
+ ```
463
+
464
+ Calculate the SHA512 checksum of a file:
465
+
466
+ ```shell
467
+ $ ronin sha512 file.txt
468
+ ```
469
+
470
+ Calculate the SHA512 checksum of every line in a file:
471
+
472
+ ```shell
473
+ $ ronin sha512 --multiline file.txt
474
+ ```
475
+
476
+ ROT-13 encodes a string:
477
+
478
+ ```shell
479
+ $ ronin rot --string "The quick brown fox jumps over the lazy dog"
480
+ Gur dhvpx oebja sbk whzcf bire gur ynml qbt
481
+ ```
482
+
483
+ XOR encodes a string:
484
+
485
+ ```shell
486
+ $ ronin xor --key ABC --string "The quick brown fox jumps over the lazy dog"
487
+ "\x15*&a36(!(a 1.5-a$,9b)4/32b,7'1a6+$b/ 8:a&,&"
488
+ ```
489
+
490
+ ### Networking
491
+
492
+ Query the ASN of an IP address:
493
+
494
+ ```shell
495
+ $ ronin asn -I 4.2.2.1
496
+ 4.0.0.0/9 AS3356 (US) LEVEL3
497
+ ```
498
+
499
+ Get the system's external/public IP address:
500
+
501
+ ```shell
502
+ $ ronin ip --public
503
+ ```
504
+
505
+ Convert an IP address to decimal format:
506
+
507
+ ```shell
508
+ $ ronin ip --decimal 127.0.0.1
509
+ 2130706433
510
+ ```
511
+
512
+ Convert a file of IP addresses into URLs:
513
+
514
+ ```shell
515
+ $ ronin ip --file targets.txt --http
516
+ ```
517
+
518
+ Enumerate over every IP address in the IP CIDR range:
519
+
520
+ ```shell
521
+ $ ronin iprange 10.1.0.0/15
522
+ 10.0.0.1
523
+ 10.0.0.2
524
+ 10.0.0.3
525
+ 10.0.0.4
526
+ 10.0.0.5
527
+ 10.0.0.6
528
+ 10.0.0.7
529
+ 10.0.0.8
530
+ 10.0.0.9
531
+ ...
532
+ ```
533
+
534
+ Enumerate over every IP address in the IP glob range:
535
+
536
+ ```shell
537
+ $ ronin iprange 10.1-3.0.*
538
+ 10.1.0.1
539
+ 10.1.0.2
540
+ 10.1.0.3
541
+ 10.1.0.4
542
+ 10.1.0.5
543
+ 10.1.0.6
544
+ 10.1.0.7
545
+ 10.1.0.8
546
+ 10.1.0.9
547
+ 10.1.0.10
548
+ ...
549
+ ```
550
+
551
+ Enumerate over every IP address between two IP addresses:
552
+
553
+ ```shell
554
+ $ ronin iprange --start 10.0.0.1 --stop 10.0.3.33
555
+ 10.0.0.1
556
+ 10.0.0.2
557
+ 10.0.0.3
558
+ 10.0.0.4
559
+ 10.0.0.5
560
+ 10.0.0.6
561
+ 10.0.0.7
562
+ 10.0.0.8
563
+ 10.0.0.9
564
+ 10.0.0.10
565
+ ```
566
+
567
+ Connect to a remote TCP service:
568
+
569
+ ```shell
570
+ $ ronin netcat -v example.com 80
571
+ ```
572
+
573
+ Listen on a local TCP port:
574
+
575
+ ```shell
576
+ $ ronin netcat -v -l 1337
577
+ ```
578
+
579
+ Connect to a remote SSL/TLS service:
580
+
581
+ ```shell
582
+ $ ronin netcat -v --ssl example.com 443
583
+ ```
584
+
585
+ Connect to a remote UDP service:
586
+
587
+ ```shell
588
+ $ ronin netcat -v -u example.com 1337
589
+ ```
590
+
591
+ Listen on a local UDP port:
592
+
593
+ ```shell
594
+ $ ronin netcat -v -u -l 1337
595
+ ```
596
+
597
+ Opens a UNIX socket:
598
+
599
+ ```shell
600
+ $ ronin netcat -v --unix /path/to/unix.socket
601
+ ```
602
+
603
+ Hexdump all data received from a socket:
604
+
605
+ ```shell
606
+ $ ronin netcat --hexdump example.com 80
607
+ GET / HTTP/1.1
608
+ Host: example.com
609
+ User-Agent: Ruby
610
+
611
+ 00000000 48 54 54 50 2f 31 2e 31 20 32 30 30 20 4f 4b 0d |HTTP/1.1 200 OK.|
612
+ 00000010 0a 41 67 65 3a 20 32 35 30 38 30 36 0d 0a 43 61 |.Age: 250806..Ca|
613
+ 00000020 63 68 65 2d 43 6f 6e 74 72 6f 6c 3a 20 6d 61 78 |che-Control: max|
614
+ 00000030 2d 61 67 65 3d 36 30 34 38 30 30 0d 0a 43 6f 6e |-age=604800..Con|
615
+ 00000040 74 65 6e 74 2d 54 79 70 65 3a 20 74 65 78 74 2f |tent-Type: text/|
616
+ 00000050 68 74 6d 6c 3b 20 63 68 61 72 73 65 74 3d 55 54 |html; charset=UT|
617
+ ...
618
+ ```
619
+
620
+ #### DNS
621
+
622
+ Query DNS records:
623
+
624
+ ```shell
625
+ $ ronin dns -t TXT github.com
626
+ ```
627
+
628
+ Find all registered TLDs for a host name:
629
+
630
+ ```shell
631
+ $ ronin host --enum-tlds --registered github.com
632
+ github.ac
633
+ github.actor
634
+ github.ae
635
+ github.africa
636
+ github.agency
637
+ github.ai
638
+ ...
639
+ ```
640
+
641
+ Find all registered public suffixes for a host name:
642
+
643
+ ```shell
644
+ $ ronin host --enum-suffix --registered github.com
645
+ example.com.ag
646
+ example.ai
647
+ example.al
648
+ example.am
649
+ example.com.ar
650
+ example.at
651
+ example.co.at
652
+ example.or.at
653
+ example.com.au
654
+ example.be
655
+ example.com.bh
656
+ ...
657
+ ```
658
+
659
+ Enumerate over every possible typosquat variation of a domain:
660
+
661
+ ```shell
662
+ $ ronin typosquat microsoft.com
663
+ microosoft.com
664
+ microsooft.com
665
+ microssoft.com
666
+ ```
667
+
668
+ Find all of the registered typosquat domains for a valid domain:
669
+
670
+ ```shell
671
+ $ ronin typosquat --registered microsoft.com
672
+ ```
673
+
674
+ Find all of the typosquat domains with addresses for a valid domain:
675
+
676
+ ```shell
677
+ $ ronin typosquat --has-addresses microsoft.com
678
+ ```
679
+
680
+ Find all of the unregistered typosquat domains for a valid domain:
681
+
682
+ ```shell
683
+ $ ronin typosquat --unregistered microsoft.com
684
+ ```
685
+
686
+ #### SSL/TLS Certs
687
+
688
+ Dump information about a SSL/TLS certificate:
689
+
690
+ ```shrll
691
+ $ ronin cert-dump https://example.com/
692
+ ```
693
+
694
+ Download a SSL/TLS certificate from a host and port:
695
+
696
+ ```shell
697
+ $ ronin cert-grab github.com:443
698
+ ```
699
+
700
+ Generate a new SSL/TLS certificate:
701
+
702
+ ```shell
703
+ $ ronin cert-gen -c test.com -O "Test Co" -U "Test Dept" \
704
+ -L "Test City" -S NY -C US
705
+ ```
706
+
707
+ #### HTTP
708
+
709
+ Perform an HTTP `GET` request (with syntax highlighting):
710
+
711
+ ```shell
712
+ $ ronin http https://example.com/
713
+ ```
714
+
715
+ Send an HTTP request with additional headers:
716
+
717
+ ```shell
718
+ $ ronin http --post --header "Authorization: ..." https://foo.bar/
719
+ ```
720
+
721
+ Send an HTTP request with a known `User-Agent` string:
722
+
723
+ ```shell
724
+ $ ronin http --post --user-agent chrome-android https://foo.bar/
725
+ ```
726
+
727
+ Send an HTTP request with a custom `User-Agent` string:
728
+
729
+ ```shell
730
+ $ ronin http --post --user-agent-string "..." https://foo.bar/
731
+ ```
732
+
733
+ Open an interactive HTTP shell:
734
+
735
+ ```shell
736
+ $ ronin http --shell https://example.com/
737
+ https://example.com/> help
738
+ help [COMMAND] Prints the list of commands or additional help
739
+ get PATH[?QUERY] [BODY] Performs a GET request
740
+ head PATH[?QUERY] Performs a HEAD request
741
+ patch PATH[?QUERY] [BODY] Performs a PATCH request
742
+ post PATH[?QUERY] [BODY] Performs a POST request
743
+ put PATH [BODY] Performs a PUT request
744
+ copy PATH DEST Performs a COPY request
745
+ delete PATH[?QUERY] Performs a DELETE request
746
+ lock PATH[?QUERY] Performs a LOCK request
747
+ options PATH[?QUERY] Performs a OPTIONS request
748
+ mkcol PATH[?QUERY] Performs a MKCOL request
749
+ move PATH[?QUERY] DEST Performs a MOVE request
750
+ propfind PATH[?QUERY] Performs a PROPFIND request
751
+ proppatch PATH[?QUERY] Performs a PROPPATCH request
752
+ trace PATH[?QUERY] Performs a TRACE request
753
+ unlock PATH[?QUERY] Performs a UNLOCK request
754
+ cd PATH Changes the base URL path
755
+ headers [{set | unset} NAME [VALUE]] Manages the request headers
756
+ ```
757
+
758
+ Print the HTTP status of every URL in a file:
759
+
760
+ ```shell
761
+ $ ronin url --file urls.txt --status
762
+ ```
763
+
153
764
  ### See Also
154
765
 
155
766
  * [ronin-repos](https://github.com/ronin-rb/ronin-repos#synopsis)
@@ -166,8 +777,6 @@ $ ronin irb
166
777
  * [make]
167
778
  * [git]
168
779
  * [libsqlite3]
169
- * [libxml2]
170
- * [libxslt]
171
780
  * [Ruby] >= 3.0.0
172
781
  * [open_namespace] ~> 0.4
173
782
  * [rouge] ~> 3.0
@@ -252,8 +861,6 @@ along with Ronin. If not, see <https://www.gnu.org/licenses/>.
252
861
  [clang]: http://clang.llvm.org/
253
862
  [git]: https://git-scm.com/
254
863
  [make]: https://www.gnu.org/software/automake/
255
- [libxml2]: https://gitlab.gnome.org/GNOME/libxml2/-/wikis/home
256
- [libxslt]: http://xmlsoft.org/libxslt/index.html
257
864
  [libsqlite3]: https://www.sqlite.org/index.html
258
865
  [Ruby]: https://www.ruby-lang.org
259
866
  [open_namespace]: https://github.com/postmodern/open_namespace#readme
data/gemspec.yml CHANGED
@@ -99,9 +99,9 @@ dependencies:
99
99
  ronin-support: ~> 1.0.0.beta2
100
100
  ronin-core: ~> 0.1.0.beta1
101
101
  ronin-repos: ~> 0.1.0.beta1
102
- ronin-db: ~> 0.1.0.beta1
102
+ ronin-db: ~> 0.1.0.beta2
103
103
  ronin-fuzzer: ~> 0.1.0.beta1
104
- ronin-web: ~> 1.0.0.beta2
104
+ ronin-web: ~> 1.0.0.beta3
105
105
  ronin-code-asm: ~> 1.0.0.beta1
106
106
  ronin-code-sql: ~> 2.0.0.beta1
107
107
  ronin-payloads: ~> 0.1.0.beta1