It is very easy using Part, which allows specifications of arbitrary depth, and Span:
m = {{{a, b, c}, {d, e, f}}, {{g, h, i}, {j, k, l}}}
m[[1, 1 ;; 2, 2 ;; 3]]
{{b, c}, {e, f}}
If you want full bracket depth in the output make any single part specification a List:
m[[{1}, 1 ;; 2, 2 ;; 3]]
{{{b, c}, {e, f}}}
See: Head and everything except Head?
This is an attempt to address an example provided in the comments. As I understand it your example can be reduced to:
x = Fold[Partition, Range@12, {3, 2}]
MapThread[# ;; # + #2 - 1 &, {{1, 2, 2}, {2, 1, 2}}]
x[[##]] & @@ %
{{{1, 2, 3}, {4, 5, 6}}, {{7, 8, 9}, {10, 11, 12}}}
{1 ;; 2, 2 ;; 2, 2 ;; 3}
{{{5, 6}}, {{11, 12}}}
There is nothing about this that is restricted to three dimensions as far as I can see.
Here is the same code again with a larger tensor:
x = Fold[Partition, Range@72, {3, 4, 2}];
x[[##]] & @@ MapThread[# ;; # + #2 - 1 &, {{1, 2, 1, 2}, {2, 1, 2, 2}}]
{{{{14, 15}, {17, 18}}}, {{{38, 39}, {41, 42}}}}
Other ways to write the same operation:
a = {1, 2, 1, 2};
b = {2, 1, 2, 2};
Inner[# ;; # + #2 - 1 &, a, b, x[[##]] &]
{{{{14, 15}, {17, 18}}}, {{{38, 39}, {41, 42}}}}
Take[x, ##] & @@ ({a, a + b - 1}\[Transpose])
{{{{14, 15}, {17, 18}}}, {{{38, 39}, {41, 42}}}}
Take[Drop[x, ##] & @@ (a - 1), ##] & @@ b
{{{{14, 15}, {17, 18}}}, {{{38, 39}, {41, 42}}}}