ronin 2.0.0.beta2 → 2.0.0.beta4

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.
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